Réponses:
C'est une caractéristique de la for
commande composée, comme décrit par help for
:
for: for NAME [in WORDS ... ] ; do COMMANDS; done
Exécutez des commandes pour chaque membre d'une liste.
La
for
boucle exécute une séquence de commandes pour chaque membre d'une liste d'éléments. Siin WORDS ...;
n'est pas présent, alorsin "$@"
est supposé. Pour chaque élément deWORDS
,NAME
est défini sur cet élément et lesCOMMANDS
sont exécutés.
Ainsi, le code que vous avez cité est probablement exécuté dans un script qui a été appelé avec 4 paramètres.
for x; do …
est un raccourci pour for x in "$@"; do …
: il parcourt les paramètres positionnels. S'il boucle quatre fois, cela signifie que vous avez quatre paramètres de position (à $1
travers $4
).
set a b c d
récemment. J'utilise souventset
cette méthode dans un script pour les tests .. Après le redémarrage du terminal, il s'est arrêté ... (c'est logique maintenant) ..