Paramètres Shell

Un article de WikiTuto.

Jump to: navigation, search

Linux


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

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire