Le for loop en Bash est un outil puissant pour automatiser des tâches répétitives dans des scripts. Que vous souhaitiez traiter une liste de fichiers, itérer sur une plage de nombres ou exécuter une commande plusieurs fois, comprendre comment utiliser cette structure de contrôle est essentiel. Cet article vous fournira des exemples concrets et des retours d’expérience pour maîtriser le for cycle dans vos scripts Bash.
Plan de l'article
Qu’est-ce qu’un for loop en Bash ? #
Un for loop permet d’exécuter une série de commandes pour chaque élément d’une liste ou d’une séquence. En Bash, il existe principalement deux types de boucles for :
- Boucle sur une liste d’éléments : itère sur chaque élément d’une liste.
- Boucle sur une plage numérique : itère sur une série de nombres définie.
Syntaxe de base
La syntaxe générale d’un for loop en Bash est la suivante :
À lire HTML CSS : Intégrer Guide Complet 2026
for variable in liste
do
commandes
done
Exemples pratiques
Exemple 1 : Itération sur une liste de fichiers
Supposons que vous souhaitiez renommer tous les fichiers .txt dans un répertoire :
for file in *.txt
do
mv "$file" "${file%.txt}.bak"
done
Ce script parcourt tous les fichiers .txt et les renomme en ajoutant l’extension .bak. Si vous avez 10 fichiers à traiter, cela vous fera gagner un temps considérable.
Exemple 2 : Boucle sur une plage numérique
Vous pouvez également utiliser un for loop pour exécuter une commande un certain nombre de fois. Par exemple, si vous souhaitez afficher les nombres de 1 à 5 :
for i in {1..5}
do
echo "Nombre : $i"
done
Ce script affichera :
À lire VCS Version Control : Guide Développeur 2026
Nombre : 1
Nombre : 2
Nombre : 3
Nombre : 4
Nombre : 5
Pièges à éviter #
Un piège courant lors de l’utilisation des for loops est l’oubli des guillemets autour des variables. Par exemple, si vous omettez les guillemets dans le premier exemple et qu’un fichier contient des espaces, cela peut entraîner des erreurs inattendues.
Utilisation avancée #
Boucle avec condition
Vous pouvez également ajouter des conditions dans votre boucle pour filtrer les éléments. Voici un exemple qui n’affiche que les fichiers .txt dont le nom contient le mot “rapport” :
for file in *.txt
do
if [[ "$file" == *rapport* ]]; then
echo "Traitement du fichier : $file"
fi
done
Liste et tableau comparatif des options
Voici un tableau qui résume différentes manières d’utiliser les for loops en Bash :
| Type de boucle | Exemple | Description |
|---|---|---|
| Liste d’éléments | for item in a b c; do ... done |
Itération simple sur une liste prédéfinie |
| Plage numérique | for i in {1..10}; do ... done |
Itération sur une série de nombres |
| Commandes en ligne | for i in $(ls); do ... done |
Itération sur la sortie d’une commande |
| Boucle imbriquée | for i in {1..3}; do for j in {a..c}; do ...; done; done |
Boucles imbriquées pour traiter plusieurs dimensions |
Bonnes pratiques #
- Utilisez toujours des guillemets autour des variables.
- Évitez les boucles imbriquées complexes qui peuvent rendre le code difficile à lire.
- Commentez vos scripts pour expliquer la logique derrière chaque boucle.
FAQ #
Quelle est la différence entre for, while et until en Bash ?
Le for loop s’exécute pour chaque élément d’une liste ou d’une plage, tandis que le while continue tant qu’une condition est vraie et le until s’arrête quand une condition devient vraie.
À lire Docker prune : Guide nettoyage complet
Comment faire un for loop avec un tableau en Bash ?
Pour itérer sur un tableau, utilisez la syntaxe suivante :
array=(1 2 3)
for i in "${array[@]}"; do echo "$i"; done
Peut-on interrompre un for loop ?
Oui, vous pouvez utiliser la commande break pour sortir prématurément d’une boucle.
Quel type de données peut-on utiliser dans un for loop ?
Vous pouvez utiliser n’importe quel type de données pouvant être itéré (fichiers, chaînes, tableaux).
Comment exécuter plusieurs commandes dans un for loop ?
Séparez les commandes par un point-virgule ou placez-les entre do ... done.
À lire GIGO Programmation : Principe et Exemples
Utilisez ces informations pour améliorer vos scripts Bash avec des boucles efficaces. N’hésitez pas à expérimenter et à adapter ces exemples à vos besoins spécifiques !




