Les variables $* et $@ contiennent la liste des arguments d'un script shell.
Lorsqu'elles ne sont pas entourées par des guillemets, elles sont équivalentes.
Exemple :
$ nl scr01.sh
1 #!/bin/bash
2 cpt=1
3 echo "Utilisation de la variable \$*"
4 for arg in $*
5 do
6 echo "Argument $cpt : $arg"
7 ((cpt+=1))
8 done
9 cpt=1
10 echo "Utilisation de la variable \$@"
11 for arg in $@
12 do
13 echo "Argument $cpt : $arg"
14 ((cpt+=1))
15 done
16 exit 0
$ ./scr01.sh a b "c d e" f
Utilisation de la variable $*
Argument 1 : a
Argument 2 : b
Argument 3 : c
Argument 4 : d
Argument 5 : e
Argument 6 : f
Utilisation de la variable $@
Argument 1 : a
Argument 2 : b
Argument 3 : c
Argument 4 : d
Argument 5 : e
Argument 6 : f
$
Interprétation :