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.