Debutant [Script shell] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 04-07-2007 à 14:57:03
![[:cerveau dawa psycho] [:cerveau dawa psycho]](https://forum-images.hardware.fr/images/perso/cerveau dawa psycho.gif) 
 
 
| Code : 
 | 
 
 
Où x est le numéro de la partie à récupérer  (1 pour la première, 2 pour la deuxième etc ...)
 (1 pour la première, 2 pour la deuxième etc ...)
Marsh Posté le 04-07-2007 à 15:01:09
merci de cette reponse rapide  
 
 
mais je prefererais avoir la methode que j ai enumeré car je vais avoir une utilisation autre ... 
 
et je prefererais retrouver mes commandes que j ai oublier quand j'etais piti  
 
meme si cette commande est logique selon moi ... 
 
et les argument $* $0 etc .. tu te souviens de la liste complete ?  
 
ce serais plutot pour faire un if [ $chaine de caractere tronqué = rpm ] ... 
Marsh Posté le 04-07-2007 à 15:03:04
sed et cut servent pas à ça ? 
 
Avant de me faire agresser: j'y connais rien en prog'. 
Marsh Posté le 04-07-2007 à 15:10:16
tu trouveras toutes les définitions de variable dans la page de man de bash, mais rapidement: 
$0 = nom de la commande utilisée 
$1 = premier paramètre 
$2 = 2e paramètres 
$3 = etc ... 
$# = nombre de paramètres 
$* = liste des paramètres (je crois) 
$@ = tableau des paramètres (je crois aussi) 
 
etc ... 
 
Sinon, oui, y'a cut qui marche bien, mais awk caÿmieux  
 
 
Ca sera quoi comme utilisation ? 
Marsh Posté le 04-07-2007 à 16:25:51
| $ toto=script.shel.alpha  | 
 
${var%%pattern} supprime de la fin de <var> le plus de caractères possible qui matchent <pattern> (au sens "filename expansion", pas regexp). 
 
Edit : Et pour ce qui est du tuto, tu fais "man bash" et tu vas au paragraphe "Parameter Expansion" (ou tu cherche "%%" ou "##" ).
Marsh Posté le 04-07-2007 à 16:27:12
| Citation : $* = liste des paramètres (je crois) | 
 
oui 
 
| Citation : $@ = tableau des paramètres (je crois aussi) | 
 
je pense aussi 
 
$$ = PID du processus courant 
 
$? = code de retour de la dernière commande exécutée 
Marsh Posté le 04-07-2007 à 16:28:33
| fighting_falcon a écrit :   | 
 
 ![[:wedgeant] [:wedgeant]](https://forum-images.hardware.fr/images/perso/wedgeant.gif) 
  
 
et merci de la confirmation, j'ai pas la page de man de bash sous la main 
Marsh Posté le 04-07-2007 à 16:34:02
Encore une fois, man bash, paragraphe "Special Parameters"...
Marsh Posté le 04-07-2007 à 17:00:33
@matafan tu me confirmes ? 
 
 
$ toto=script.shel.alpha  
$ echo ${toto*.%%}  
alpha  
 
 
 
merci beaucoup en tous cas  
 
  
Marsh Posté le 04-07-2007 à 19:22:32
${variable#motif} supprime le préfixe de $variable le plus court correspondant au motif. 
${variable##motif} supprime le préfixe de $variable le plus long correspondant au motif. 
${variable%motif} supprime le suffixe de $variable le plus court correspondant au motif. 
${variable%%motif} supprime le suffixe de $variable le plus long correspondant au motif.
Marsh Posté le 21-08-2008 à 14:29:34
Bonjour, je veux crée un script shell pour lancer Xchat rejoint automatique au canale que je préfere! s 'il vous plait, aider moi car j'suis debutant
Marsh Posté le 21-08-2008 à 14:32:08
Bonjour, je veux crée un script shell pour lancer Xchat en rejoingant automatiquement au canale que je préfere! s 'il vous plait, aider moi car j'suis debutant
Marsh Posté le 04-07-2007 à 14:54:05
bonjour,
 afin d obtenir : "script"
 afin d obtenir : "script" 
je me rappel plus trop des commandes de base d'argument en script shell et
ce n 'est pas evident de chercher sur google faute de caracteres incomprehensibles
Je recherche les commandes exact pour tronquer un caracter à partir d'un point ou d'une lettre
d'apres mes souvenirs c'était ##+*. ( mais en fait je me souviens plus)
prenons un exemple une chaine de caractere : "script.shel.alpha"
et je souhaite extraire, de ce mot, la parti "script" et donc dire (en francais ) prendre la chaine de caractere jusqu'au premier "." et tronquer le reste
un peu pour donner un programme de cette forme
je precise que c'est ce qu il y a en rouge que je veux connaitre car je sais que la syntaxe est mauvaise ...
si vous avez un petit tuto sous la main ca m aiderai bien ...
${##+.*$all }
${{##*.+$all}##+.*$all}
$3=${##*.+$all}
Egalement :
les differentes commandes d arguments avec leurs definitions je suis sur d'en oublier :
$1 argument 1
$# tous les arguments
$* ? sais plus
$0 ?
Merci
Message édité par jeremie95 le 04-07-2007 à 14:56:43