Bonjour,
je debut en programmation shell jaimerai bien savoir comment prendre en entrée
des paramètres ...et comment les utiliser dans le shell
Merci
Bonjour,
je debut en programmation shell jaimerai bien savoir comment prendre en entrée
des paramètres ...et comment les utiliser dans le shell
Merci
Le plus simple reste le $1, $2, $3...
Mais tu as toutes les subtilités dans le man bash (pour le shell bash...).
salut,
j'ajouterai aussi que les paramètres sont limités à "9" $1 $2..$9 le $0 est réservé au nom du fichier de commandes
pour capturer tous les paramètres dans une collection tu peux utiliser $*
le nombre de paramètres est stoké dans la variable $#
hein ?Envoyé par I'm_HERE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 listP() { echo $@ echo ${10} } listP {1..11} 1 2 3 4 5 6 7 8 9 10 11 10
salut,
désolé, pour ne pas me faire comprendre, je faisais allusion à ceci:
$10 $12 $13 $14 ..etc et sans passer par $@
es-ce que tu peux aller au delà de 9 paramètres ?
on peux facilement contourné ce problème avec un simple shift
<EDIT>
j'ai trouvé cette syntaxe ${10},${11}
</EDIT>
Ils ont longtemps été limités à 9 (/bin/sh, /bin/ksh). Le bash a étendu cette possibilité mais pour ceux qui travaillent sur des Unix plus anciens encore en activités (comme Solaris par exemple), taper dans du ${10}, ${11}, ${12} etc n'est pas portable. Accessoirement, j'imagine mal qu'on puisse avoir besoin de plus de 9 arguments différents (déjà qu'il est rare d'arriver à 3)...
PS: la limite max du nb d'arguments est définie par la constante ARG_MAX utilisée dans les sources du noyau. Ainsi n'importe qui peut se recompiler son petit noyau avec sa propre limite perso...
En fait c'est une syntaxe destinée à faire comprendre au shell quel est le nom réel de la variable
Exemple
Ne fonctionnera pas car le shell ira chercher le contenu de la variable "prixF" sans comprendre qu'on veut en fait la variable "prix" suivie de la lettre "F".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 prix=10 echo "Mon vélo coute $prixF"
Pour lui faire comprendre, faut isoler le nom réel de la variable
Inversement, afficher $10 donnera $1 suivi du caractère 0 (car jusqu'à peu, $10 n'existait pas et même aujourd'hui, a peu de chances d'être utilisé donc les programmeurs bash lui font choisir la possibilité la plus probable). Et donc si on veut $10 il est impératif d'écrire ${10}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 prix=10 echo "Mon vélo coute ${prix}F"
Accessoirement, cette écriture ${...} présente d'autres avantages, comme ${var:-valeur} qui renvoie la chaine "valeur" si $var est vide ou non existante (utile pour programmer les valeurs par défaut)...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager