Le for loop en Bash est un outil puissant pour automatiser des tâches répétitives. Il permet d’itérer sur une liste d’éléments, que ce soit des fichiers, des nombres ou des chaînes de caractères. Ce guide complet vous fournira une compréhension approfondie de cette structure de contrôle, à travers des exemples concrets et des retours d’expérience pratiques.
Plan de l'article
Qu’est-ce qu’un For Loop en Bash ? #
Un for loop en Bash est une construction qui permet d’exécuter une série de commandes pour chaque élément d’une liste. Il est très utile pour traiter plusieurs fichiers ou effectuer une opération répétée sans avoir à écrire le même code plusieurs fois.
Syntaxe de base
La syntaxe de base d’un for loop en Bash est la suivante :
À lire VCS Version Control : Guide Développeur 2026
for variable in liste
do
commandes
done
- variable : le nom de la variable qui prendra la valeur de chaque élément.
- liste : une série d’éléments séparés par des espaces ou un motif (par exemple,
*.txtpour tous les fichiers texte). - commandes : les instructions à exécuter pour chaque élément.
Exemples concrets #
Exemple 1 : Itération sur une liste de fichiers
Imaginons que vous souhaitiez renommer tous les fichiers .txt dans un répertoire. Voici comment procéder :
for fichier in *.txt
do
mv "$fichier" "${fichier%.txt}.bak"
done
Ce script renomme chaque fichier .txt en .bak, par exemple document.txt devient document.bak. Si vous avez 10 fichiers à traiter, cela vous fait gagner un temps considérable.
Exemple 2 : Calculer la somme de nombres
Un autre cas pratique est le calcul de la somme d’une série de nombres. Voici comment faire :
somme=0
for i in {1..10}
do
somme=$((somme + i))
done
echo "La somme est : $somme"
Ici, nous ajoutons les nombres de 1 à 10, et le résultat affiché sera La somme est : 55. Cette approche peut être adaptée à différents intervalles et opérations.
À lire Docker prune : Guide nettoyage complet
Pièges à éviter #
Lors de l’utilisation des for loops en Bash, un piège courant est l’utilisation incorrecte des guillemets autour des variables. Par exemple :
for fichier in *
do
echo $fichier
done
Si un fichier contient des espaces, son nom sera divisé en plusieurs arguments. Pour éviter cela, entourez toujours vos variables avec des guillemets :
for fichier in *
do
echo "$fichier"
done
Cela garantit que chaque nom de fichier est traité comme un seul argument.
Avantages du For Loop #
Les for loops présentent plusieurs avantages :
À lire GIGO Programmation : Principe et Exemples
- Automatisation : Réduit le risque d’erreur humaine lors de l’exécution répétée de tâches.
- Lisibilité : Le code devient plus clair et plus facile à maintenir.
- Flexibilité : Peut être utilisé avec divers types de données et structures.
Tableau comparatif avec d’autres boucles
| Type de boucle | Utilisation | Avantages |
|---|---|---|
| For | Itération sur une liste | Simple et efficace |
| While | Exécution conditionnelle | Adapté aux boucles indéfinies |
| Until | Exécution jusqu’à condition vraie | Pratique pour certaines logiques |
Utilisations avancées du For Loop #
Les for loops peuvent également être utilisés avec des tableaux, ce qui augmente leur puissance. Par exemple :
nombres=(1 2 3 4 5)
for i in "${nombres[@]}"
do
echo "Nombre : $i"
done
Cela itère sur chaque élément du tableau nombres, affichant chacun d’eux.
FAQ #
Quelle est la différence entre les boucles for et while en Bash ?
Les boucles for itèrent sur une liste prédéfinie, tandis que les boucles while continuent tant qu’une condition spécifiée reste vraie.
Comment sortir d’une boucle for avant son terme ?
Vous pouvez utiliser l’instruction break pour sortir immédiatement d’une boucle.
À lire AWK Guide Complet : Programmation et Scripts Unix
Est-il possible d’utiliser des for loops imbriqués ?
Oui, vous pouvez imbriquer des boucles for, mais cela peut rendre le code difficile à lire si elles sont trop nombreuses.
Comment itérer sur les lignes d’un fichier dans un for loop ?
Utilisez la commande cat ou redirigez le contenu du fichier dans le loop :
for ligne in $(cat fichier.txt)
do
echo "$ligne"
done
Quels types de données peuvent être utilisés avec un for loop ?
Vous pouvez itérer sur des fichiers, des chaînes, des nombres ou même des éléments d’un tableau.
Y a-t-il une limite au nombre d’itérations dans un for loop ?
En théorie, il n’y a pas de limite stricte dans Bash ; cependant, la mémoire disponible peut poser problème lors du traitement de grandes quantités de données.
À lire AVD Android : Configuration Émulateur Guide 2026
Pour maîtriser les for loops en Bash, commencez par écrire vos propres scripts basés sur ces exemples et conseils. Cela améliorera votre efficacité dans le traitement automatique des tâches répétitives.



