Initialisation des paramètres positionnels avec set

La commande set utilisée sans option mais suivie d'arguments affecte ces derniers aux paramètres positionnels $1, $2, $3 ....., $*, $@ et $#.

Cela permet de manipuler plus facilement le résultat de diverses substitutions.

Exemple :

$ ls
fichier_0  fichier_2  fichier_4  fichier_6  fichier_8
fichier_1  fichier_3  fichier_5  fichier_7  fichier_9
$ set `ls`
$

La liste des fichiers obtenue avec la commande ls est maintenant affecté aux paramètres positionnels.

$ echo $#
10
$ echo $*
fichier_0 fichier_1 fichier_2 fichier_3 fichier_4 fichier_5 fichier_6 fichier_7 fichier_8 fichier_9
$ echo $1
fichier_0
$ echo $3
fichier_2
$ echo $9
fichier_8
$ echo ${10}
fichier_9
$