Sommaire

Variables réservées du shell

Dans un script, un certain nombre de variables réservées sont accessibles en lecture. Ces variables sont initialisées par le shell et véhiculent des informations de nature diverse.

1. Les paramètres positionnels

Les scripts shell sont capables de récupérer les arguments passés sur la ligne de commande à l’aide de variables spéciales, nommées paramètres positionnels.

  • $# représente le nombre d’arguments reçus par le script ;

  • $0 représente le nom du script ;

  • $1 représente la valeur du premier argument, $2 la valeur du deuxième et ceci jusqu’à $9 qui représente la valeur du neuvième argument. Le ksh et le bash permettent d’utiliser les variables spéciales ${10}, ${11}, etc. Les accolades sont obligatoires lorsque le nom de la variable contient plus d’un chiffre ;

  • $* et $@ représentent la liste de tous les arguments (la différence entre $* et $@ est présentée au chapitre Aspects avancés de la programmation shell - Comparatif des variables $* et $@).

Exemple

Voici un script qui affiche la valeur de chaque paramètre positionnel :

$ vi monscript.sh 
echo "Ce script a recu $# arguments" 
echo "Le nom du script est  : $0" 
echo "Mon 1er argument est  : $1" 
echo "Mon 2eme argument est : $2" 
echo "Mon 3eme argument est : $3" 
echo "Voici ...