Bash de A à Z

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 || continue est 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.