$* s'étend à tous les paramètres qui ont été passés à ce script shell.
$0 =nom du script shell
$1 =premier argument
$2 =second argument...etc
$# =nombre d'arguments passés au shellscript
Il est facile de trouver la réponse par vous-même :man bash → /\$\* :
Paramètres spéciaux
Le shell traite plusieurs paramètres spécialement. Ces paramètres ne peuvent être que référencés ; leur affectation n'est pas autorisée.
- Développe les paramètres de position, en commençant par un. Lorsque le développement se produit entre guillemets doubles, il se développe en un seul mot avec la valeur de chaque paramètre séparée par le premier caractère du
IFSvariable spéciale. C'est-à-dire"$*"est équivalent à"$1c$2c...", oùcest le premier caractère de la valeur duIFSvariable. SiIFSn'est pas défini, les paramètres sont séparés par des espaces. SiIFSest nul, les paramètres sont joints sans séparateurs intermédiaires.
Cela signifie tous les arguments passés au script ou à la fonction, divisés par mot.
Il est généralement erroné et doit être remplacé par "[email protected]" , qui sépare correctement les arguments.