Paramètres Shell
Un article de WikiTuto.
Sommaire |
Explication
Lorsque nous lançons un script il est possible de lui associer des paramètres exemple :
cp toto.txt toto.txt.bak
ici on envoie dans la commande cp 2 paramètres toto.txt et toto.txt.bak
Liste des paramètres
- $# : donne le nombre de paramètres
- $* : donne l'ensemble des paramètres
- $@ : affiche l'ensemble des paramètres comme $*. La différence est que $* correspond à une seule valeur, alors que $@ correspond à autant de valeurs qu'il y a de paramètres
- $0 : affiche le nom du script
- $1, $2, ..., $9, ${10}, ... : correspondent aux paramètres n°1, 2, etc. Pour les paramètres à plusieurs chiffres, il faut mettre les chiffres entre crochets.
Affiche un paramètre
echo "monparametre=$1"
La commande shift
La commande shift permet de supprimer les n premiers paramètres et décale par la même occasion la valeur des paramètres, la variable $# en est d'autant affectée.
La commande getopts
La commande getopts permet de parcourir tous les paramètres exemple :
while getopts a:bc:d option do case $option in a) echo "option a : $OPTARG" ;; b) echo "option b" ;; c) echo "option c : $OPTARG" ;; d) echo "option d" ;; esac done
Dans cet exemple on attend, les options possibles sont définis par a:bc:d. Une fois le paramètre testé, la commande getopts va mettre la valeur du paramètre vérifié dans la variable d'environnement OPTARG. Une lettre suivie de ":" indique qu'un paramètre est obligatoire pour cette option. Ici on pourra grouper au non les paramètres en appelant notre script.
monscript -a monscript -ad ...
Voir aussi
- Les variables
- Variables d'environement Shell
- Les paramètres de commande
- La commande Test



