Comprendre la boucle Bash For en 2025 avec des exemples

Une boucle for est l’une des principales instructions dans divers langages de programmation et aide beaucoup à la gestion de votre plateforme VPS. Ici, nous allons expliquer comment elle est utilisée dans le langage de programmation bash – d’où le nom, “boucle for bash”.

Une boucle for est une instruction d’itération, ce qui signifie que vous pouvez exécuter du code de manière répétée. Supposons que vous souhaitiez exécuter une instruction 5 fois. Au lieu d’écrire cinq codes distincts, vous pouvez écrire une seule fois la syntaxe d’une boucle for.

Syntaxe de la boucle bash for

À la base, la syntaxe la plus simple d’une boucle for répète l’occurrence d’un ensemble de variables. La séquence bash ressemble généralement à ceci :

for VARIABLE in 1 2 3 4 5 .. N
Exécutez la commande suivante :
commande1
commande2
commandeN
done

Dans la réalité, cette syntaxe ressemblerait à l’exemple ci-dessous :

#!/bin/bash
for i in 1 2 3 4 5
do
echo "Bonjour $i"
done

L’exécution du fichier bash donnera le texte suivant :

Bonjour 1
Bonjour 2
Bonjour 3
Bonjour 4
Bonjour 5

Examinons chaque élément :

  • #!/bin/bash – montre que le code est un script bash.
  • i – est un espace réservé pour une variable.. En revanche, $i est la valeur individuelle de la variable. Vous pouvez également l’écrire sous la forme c/$c ou sous un autre nom.
  • in – sépare la variable et les éléments qui suivent.
  • 1 2 3 4 5 – est un exemple d’éléments sur lesquels vous voulez exécuter l’instruction
  • do – est le mot-clé qui déclenche les boucles. Il exécutera ensuite l’instruction n fois, n étant le nombre total d’éléments. Ici, la valeur de n est de 5.
  • echo “Bonjour: $i” – est le code que nous allons répéter n fois. N’oubliez pas que les guillemets transforment tout ce qui se trouve à l’intérieur en une variable.
  • done – arrête la boucle.

Les deux autres syntaxes courantes pour les boucles sont les suivantes :

for VARIABLE in fichier1 fichier2 fichier3
do
commande1 on $VARIABLE
commande2
commandeN
done

Et celle-ci :

for OUTPUT in $(Commande-Linux-ou-Unix-ici)
do
commande1 on $OUTPUT
commande2 on $OUTPUT
commandeN
done

Exemples de boucle bash for

Vous pouvez mettre à jour la syntaxe pour effectuer plusieurs opérations. Avant de continuer, vous devez vous connecter à votre VPS. Si vous avez des difficultés avec bash, consultez notre tutoriel sur les scripts bash. N’oubliez pas que les fonctions bash doivent se trouver dans un fichier .sh. Pour en créer un, exécutez la commande suivante dans la ligne de commande :

vim nomfichier.sh

Cela créera un fichier .sh et l’ouvrira dans l’éditeur VIM. Pour en savoir plus, consultez l’article sur les fonctions de base de bash mentionné précédemment.

Boucle for bash pour créer une boucle à trois expressions

La boucle à trois expressions utilise une structure similaire à celle du langage de programmation C. Elle est composée de trois expressions d’écriture – un initialisateur (EXP1), une condition (EXP2) et une étape de comptage (EXP3).

L’initialisateur définit la variable initiale du script et la condition détermine si la boucle continue ou non. Pendant ce temps, l’étape de comptage modifie la valeur initiale jusqu’à ce qu’elle remplisse la condition spécifiée. La syntaxe de cette boucle est la suivante :

for (( EXP1; EXP2; EXP3 ))
do
commande1
commande2
commande3
done

Pour mieux comprendre, examinons l’exemple de code suivant :

#!/bin/bash
for (( c=1; c<=5; c++ ))
do
echo "The number $c"
done

Le code fixe la valeur initiale de la boucle à 1. La boucle s’exécutera tant que la condition dans EXP2 est vraie – la variable du code ne doit pas être plus grande que 5. L’expression de comptage comporte le signe ++ , qui incrémente la valeur initiale d’une unité à chaque fois que la boucle s’exécute.

Le script bash affichera un message “$c” qui fait référence à la valeur de la boucle, en commençant par 1 jusqu’à ce qu’elle atteigne la condition spécifiée. La sortie sera la suivante :

Boucle for bash pour créer une boucle à l’infini

Bash vous permet de créer une boucle infinie qui continue à exécuter du code jusqu’à ce que vous mettiez fin au processus manuellement en appuyant sur Ctrl + C. Il existe différentes façons de le faire, notamment en utilisant l’expression while :

while true 
do
echo "Hello, world!"
sleep 1
done

Lorsque la condition est vraie, la commande imprime le message “Hello, world !” avec un délai d’une seconde. L’extrait utilise l’instruction conditionnelle while true pour permettre au code de toujours renvoyer l’état de sortie réussi. 

Puisque la condition reste vraie, le code continuera à boucler la commande echo pour imprimer le message. Une autre méthode consiste à utiliser la boucle infinie à trois expressions :

for (( ; ; ))
do
echo "Hello, world!"
sleep 1
done

Dans l’extrait, nous définissons toutes les expressions comme étant vides. Comme il n’y a pas de condition de fin à remplir, la boucle continuera jusqu’à ce que l’utilisateur l’arrête.

Boucle for bash pour créer la boucle Skip and Continue

Bash vous permet de créer une boucle qui saute une valeur spécifique et continue à fonctionner ensuite. La syntaxe du code est la suivante :

for i in 1 2 3 4 5
do
if [condition]
then
#Continue avec l'itération suivante de i et saute l'instruction
continue
fi
instruction
done

Voici un exemple de code avec une boucle Skip et Continue: 

for i in {1..5}
do
if [[ "$i" == '4' ]]
then
continue
fi
echo "Hello $i"
done

Dans l’extrait, nous définissons les éléments à modifier comme allant de un à cinq. Nous ajoutons une condition if, indiquant que lorsque la valeur de la variable est égale à 4, la boucle n’exécute pas le code et passe à la valeur suivante. Cela signifie que la boucle fonctionnera sur 1, 2, 3 et 5, comme le montre la sortie :

Boucle for bash pour créer une sortie conditionnelle avec la boucle Break

En plus de la structure à trois expressions, utilisez for-in pour arrêter automatiquement la boucle lorsque l’opération de script remplit une condition spécifique. Voici la syntaxe du code :

for i in 1 2 3 4 5
do
if [condition]
then
break
fi
instruction
done

Vous pouvez ajouter une autre commande à la fin du code, qui sera exécutée après la fin de la boucle. Prenons l’exemple suivant :

for state in Alabama Alaska Arizona Arkansas California
do
if [[ "$state" == 'Arkansas' ]]; then
break
fi
echo "state: $state"
done

echo 'That’s all!'

Le script de la boucle imprime tous les noms d’état spécifiés dans la liste, mais s’arrête lorsque la condition de rupture est remplie, c’est-à-dire lorsque la valeur actuelle est égale à Arkansas. Il passe ensuite à l’instruction suivante pour afficher le message “That’s all !“. Voici à quoi ressemble la sortie :

Boucle for bash avec des éléments de tableau

Au lieu d’énumérer les éléments de la boucle for-in, utilisez un tableau pour rendre votre code plus organisé et plus lisible. Cela simplifie l’itération dans les données – le processus d’application de la boucle pour chaque élément individuellement.

Déclarez le tableau avec son élément au début et ajoutez-le à votre expression for-in. Voici la syntaxe :

#Déclarer un tableau d'éléments
array=("élément1" "élément2" "élément3" "élément4")

#Parcourir le tableau et appliquer des opérations
for élément in "${array[@]}"
do
commande1
commande2
commande3
done

Voici un exemple de code de boucle bash avec des éléments de tableau :

fruit_array=("apple" "banana" "red cherry" "green grape")

for fruit in "${fruit_array[@]}"
do
echo "Fruit: $fruit"
done

La boucle bash parcourt les éléments du tableau et utilise la commande echo pour les afficher avec le préfixe Fruit :. Voici à quoi ressemble la sortie :

Si vous ajoutez une autre commande, la boucle fonctionnera sur le même élément avant de passer au suivant. Par exemple, nous allons insérer un autre echo pour ajouter un suffixe à l’élément. Voici le résultat :

Boucle for Bash avec une variable Shell

En plus d’un tableau, vous pouvez utiliser une variable shell pour stocker un élément pour les boucles bash. Voici la syntaxe du code :

#Définir la variable shell
variable="un seul élément"
#Parcourir la variable et appliquer des opérations
for élément in $variable
do
commande1
commande2
commande3
done

La variable shell ne contient qu’un seul élément de données, mais la boucle bash itère automatiquement à travers les éléments séparés par des espaces, en les traitant comme des entités différentes. Prenons l’exemple suivant :

var_numbers="1 2 3 4 5"

for number in $var_numbers
do
echo "Number: $number"
done

Au lieu d’imprimer les nombres sous forme de chaîne, la boucle bash les imprime individuellement. Pour traiter les éléments comme une seule entité, entourez la variable $var_numbers dans l’expression for-in de guillemets, comme dans l’exemple suivant :

for number in "$var_numbers"

Boucle for bash avec un nombre

Lorsque vous travaillez avec des nombres dans la boucle bash, vous pouvez utiliser un intervalle au lieu de spécifier les éléments individuellement. Pour ce faire, ajoutez la plage entre accolades séparées par des doubles points :

for i in {1..5}
do
echo "$i"
done

Dans l’exemple, la boucle répercute tous les nombres de un à cinq. En outre, vous pouvez modifier l’incrément à l’aide de la syntaxe à trois expressions {START..END..INCREMENT}. Voici l’exemple de code :

for i in {1..10..2}
do
echo "Number: $i"
done

Important ! Dans certains scripts, la syntaxe d’incrémentation utilise des doubles parenthèses au lieu des accolades. Quoi qu’il en soit, les deux ont la même fonction.

La boucle fonctionnera sur la première valeur de 1, augmentera de deux incréments jusqu’à 3,  ainsi de suite. Une fois la valeur finale de 10 atteinte, le code s’arrête. Voici le résultat :

Notez que la fonction de plage n’est disponible que dans la version 3.0 ou ultérieure de Bash, tandis que l’incrémentation est prise en charge dans la version 4.0 ou ultérieure de Bash.

Boucle for bash avec des chaînes de caractères

Dans une boucle bash, une variable shell sert généralement à stocker plusieurs chaînes de caractères. Elle est utile pour exécuter des tâches en masse, comme renommer des fichiers ou installer un package. Voici la syntaxe :

variable="chaine1 chaine2 chaine3"
for élément in $variable
do
commande1
commande2
commande3
done

Vous pouvez également utiliser des tableaux si votre chaîne contient des espaces. Outre le fait qu’ils permettent à la boucle bash de lire des éléments séparés par des espaces, ils sont plus faciles à itérer et à développer. Voici la syntaxe :

array=("Premier élément" "Deuxième élément" "Troisième élément" "Quatrième élément")
for élément in "${array[@]}"
do
commande1
commande2
commande3
done

Utiliser efficacement le script Bash dans le VPS Hostinger

Si l’utilisation de la boucle for bash permet d’automatiser les tâches de gestion du VPS, il est également important d’exploiter les fonctionnalités de votre hébergeur pour améliorer encore l’efficacité de l’administration du serveur.

Par exemple, les plans VPS Hostinger disposent d’un Terminal de navigateur intégré à notre tableau de contrôle personnalisé, hPanel. Il vous permet d’exécuter des commandes Linux et des utilitaires tels que la boucle bash directement à partir de votre navigateur Web.

De plus, nous proposons l’assistant IA, Kodee, qui aide à simplifier la gestion des VPS, en particulier pour les débutants. Par exemple, il vous permet de générer automatiquement des scripts de boucle bash for pour diverses tâches à l’aide de simples invites.

Pour accéder à l’outil, connectez-vous à hPanel et cliquez sur VPS dans le menu latéral. Sélectionnez le serveur concerné et accédez à Kodee dans la barre latérale. Pour obtenir des résultats précis, veillez à ce que les invites IA soient spécifiques et claires.

Important ! En raison des limites de l’IA, certaines réponses peuvent être inexactes ou obsolètes.

Conclusion

La boucle Bash for est idéale pour automatiser les tâches répétitives. Outre les exemples de base ci-dessus, vous pouvez faire beaucoup plus. Par exemple, vous pouvez suivre des fichiers et effectuer de nombreuses autres tâches. La liste est longue !

Tout ce que vous avez à faire, c’est d’écrire les commandes de la boucle. Il peut y avoir une courbe d’apprentissage, mais la lecture de cette introduction est un bon début. Bonne chance !

Author
L'auteur

Ismail

Ismail est un spécialiste du référencement et de la localisation chez Hostinger. Il est passionné par la technologie et le développement web et possède des années d'expérience dans le domaine informatique. Ses passe-temps incluent les jeux vidéo et le football.