Chapitre 4 / 6
Les boucles
La boucle for
Elle parcourt une liste d'éléments :
# Sur une liste explicite
for couleur in rouge vert bleu; do
echo "Couleur : $couleur"
done
# Sur des fichiers (globbing)
for fichier in *.log; do
echo "Traitement de $fichier"
done
# Sur une plage de nombres
for i in {1..5}; do
echo "Étape $i"
done
La boucle while
Elle répète tant qu'une condition est vraie :
compteur=1
while [ "$compteur" -le 3 ]; do
echo "Tour n°$compteur"
compteur=$(( compteur + 1 ))
done
Un usage classique : lire un fichier ligne par ligne avec < :
while read ligne; do
echo "→ $ligne"
done < serveurs.txt
La boucle until
L'inverse du while : elle boucle jusqu'à ce que la condition devienne
vraie.
n=0
until [ "$n" -ge 3 ]; do
echo "$n"
n=$(( n + 1 ))
done
Contrôler la boucle
break: sortir immédiatement de la boucle.continue: passer directement à l'itération suivante.
for f in *.txt; do
[ -f "$f" ] || continue # ignore si ce n'est pas un fichier
echo "$f"
done
💡
commande || continueest une écriture idiomatique : « si la commande échoue, passe au tour suivant ». On verra ce chaînage en détail au chapitre 6.
Au chapitre suivant : factoriser son code avec les fonctions et gérer les arguments d'un script.