Table des matières
L'itération for possède plusieurs syntaxes dont les deux plus générales sont :
Première forme :
for var
do
suite_de_commandes
done
Lorsque cette syntaxe est utilisée, la variable var prend successivement la valeur de chaque paramètre de position initialisé.
Exemple : programme shell for_arg
#!/bin/bash # @(#) for_arg for i do echo $i echo "Passage a l'argument suivant ..." done
$ for_arg un deux => deux paramètres de position initialisés un Passage a l'argument suivant ... deux Passage a l'argument suivant ... $
La commande composée for traite les paramètres de position sans tenir compte de la manière dont ils ont été initialisés (lors de l’appel d’un programme shell ou bien par la commande interne set).
Exemple : programme shell for_set
#!/bin/bash # @(#) for_set set $(date) for i do echo $i done
$ for_set jeu. 20 janv. 2022 09:24:27 CET $
Deuxième forme :
for var in liste_mots
do
suite_de_commandes
done
La variable var prend successivement la valeur de chaque mot de liste_mots.
Exemple : programme shell for_liste
#!/bin/bash # @(#) for_liste for a in toto tata do echo $a done
$ for_liste toto tata $
Si liste_mots contient des substitutions, elles sont préalablement traitées par bash.
Exemple : programme shell affich.ls
#!/bin/bash # @(#) affich.ls for i in tmp $(pwd) do echo “ --- $i ---“ ls "$i" done
$ affich.ls --- tmp --- gamma --- /home/sanchis/Rep --- affich.ls alpha beta tmp $