Le looping en Bash est essentiel pour automatiser des tâches répétitives dans vos scripts. Que vous souhaitiez parcourir des fichiers, exécuter des commandes plusieurs fois ou collecter des données, les boucles permettent d’optimiser votre code. Ce tutoriel vous guide à travers les différents types de boucles en Bash, leurs syntaxes, ainsi que des exemples pratiques pour une utilisation efficace.
Types de boucles en Bash #
Il existe plusieurs types de boucles en Bash, chacune ayant ses propres caractéristiques :
1. Boucle for
La boucle for permet d’itérer sur une liste d’éléments.
À lire VCS Version Control : Guide Développeur 2026
Syntaxe :
for variable in liste; do
commande
done
Exemple :
for i in {1..5}; do
echo "Compteur : $i"
done
Ce script affichera :
Compteur : 1
Compteur : 2
Compteur : 3
Compteur : 4
Compteur : 5
2. Boucle while
La boucle while continue tant qu’une condition est vraie.
À lire Docker prune : Guide nettoyage complet
Syntaxe :
while [ condition ]; do
commande
done
Exemple :
count=1
while [ $count -le 5 ]; do
echo "Nombre : $count"
((count++))
done
Ce script affichera :
Nombre : 1
Nombre : 2
Nombre : 3
Nombre : 4
Nombre : 5
3. Boucle until
La boucle until fonctionne tant qu’une condition est fausse.
À lire GIGO Programmation : Principe et Exemples
Syntaxe :
until [ condition ]; do
commande
done
Exemple :
count=1
until [ $count -gt 5 ]; do
echo "Count: $count"
((count++))
done
Ce script produit le même résultat que la boucle while ci-dessus.
Utilisation pratique des boucles #
Pour illustrer l’utilisation des boucles dans un contexte réel, considérons un scénario où nous avons besoin de sauvegarder plusieurs fichiers texte :
À lire Bash For Loop : Guide Complet avec Exemples
Exemple de sauvegarde de fichiers
Supposons que vous souhaitiez créer une sauvegarde de fichiers .txt dans un répertoire spécifique. Voici comment procéder avec une boucle for :
for file in *.txt; do
cp "$file" "/chemin/vers/sauvegarde/$file"
done
Cette commande copie tous les fichiers .txt du répertoire courant vers le répertoire de sauvegarde spécifié.
Tableau comparatif des types de boucles #
| Type de boucle | Avantages | Inconvénients |
|---|---|---|
for |
Simple pour une liste fixe | Moins flexible pour des conditions dynamiques |
while |
Idéal pour des conditions changeantes | Peut devenir infini sans contrôle |
until |
Pratique pour les conditions inverses | Peut également devenir infini |
Piège à éviter #
Un piège courant lors de l’utilisation de boucles est d’oublier d’incrémenter la variable utilisée dans la condition. Par exemple, dans une boucle while, si vous n’augmentez pas votre compteur, celle-ci risque de tourner indéfiniment et bloquer votre script.
Action immédiate
Pour mettre en pratique vos nouvelles compétences, essayez d’écrire un script qui parcourt un répertoire et affiche la taille de chaque fichier. Voici un point de départ :
À lire AWK Guide Complet : Programmation et Scripts Unix
for file in *; do
if [ -f "$file" ]; then
echo "$file: $(du -h "$file" | cut -f1)"
fi
done
Ce script affiche le nom et la taille de chaque fichier dans le répertoire courant.
FAQ #
Qu’est-ce qu’une boucle en Bash ?
Une boucle en Bash est une structure qui permet d’exécuter plusieurs fois un ensemble d’instructions jusqu’à ce qu’une condition soit remplie.
Quels sont les types principaux de boucles en Bash ?
Les principaux types sont les boucles for, while, et until.
Comment éviter une boucle infinie en Bash ?
Assurez-vous que la condition de sortie soit atteignable et incrémentez correctement vos variables à chaque itération.
Quelle est la différence entre while et until ?
La boucle while s’exécute tant qu’une condition est vraie, tandis que la boucle until s’exécute tant qu’une condition est fausse.
Peut-on imbriquer des boucles en Bash ?
Oui, il est possible d’imbriquer des boucles pour traiter des structures complexes ou effectuer plusieurs niveaux d’itérations.
Comment déboguer une boucle dans un script Bash ?
Utilisez l’option -x lors de l’exécution du script (bash -x votre_script.sh) pour afficher chaque commande avant son exécution, facilitant ainsi le débogage.
En appliquant ces concepts et exemples pratiques, vous serez capable d’utiliser efficacement le looping en Bash dans vos scripts pour automatiser diverses tâches.