Les variables spéciales en shell

#$# $# Contient le nombre d’arguments passe a votre script

#$* *$** Contient la liste des paramètres passée au script

#$@ Comme *$** mais il prend en compte les espaces, on récupère donc les arguments sous forme de tableau.

Par exemple pour ce code:

for var in "$*"
do
	echo $var;
done
test.sh "toto tata" tutu

Donnera:

toto tata tutu

Alors que pour ce code:

for var in "$@"
do
	echo $var;
done
test.sh "toto tata" tutu

Donnera:

toto tata
tutu

#$? $? Contient le résultat de la dernière commande exécuté

#$$ Le PID du shell

#$! Le PID de la dernière commande mise en background.

#$_ Contient le dernier argument de la précédente commande.

Exemple:

# echo toto
toto
# echo $_
toto

#$0 $1 $2 Ces variables contiennent les arguments passés en paramètre à votre script shell.