Exemples de boucles Bash While : boucles For, boucles jusqu'à ce que, etc.
La programmation Bash comprend trois types de boucles : la boucle for, la boucle while et la boucle jusqu'à. L'idée de toutes les boucles est d'exécuter du code à plusieurs reprises tant que certains paramètres spécifiques sont respectés.
La boucle Bash for fonctionne différemment des boucles for dans d'autres langages de programmation que vous connaissez peut-être. Avec lui, vous pouvez parcourir une série de « mots » dans une chaîne.
D'un autre côté, la boucle while exécute le code qu'elle contient si l'expression de contrôle (ou simplement la « condition ») est vraie. La boucle arrête d'exécuter le code lorsque la condition devient fausse ou qu'il y a une rupture explicite dans le code.
La boucle jusqu'à est comparable à la boucle while, la seule différence étant que le code continue de s'exécuter tandis que l'expression de contrôle est considérée comme fausse.
Dans cet article, nous expliquons comment utiliser la boucle Bash while avec des exemples.
Comprendre la syntaxe de la boucle While
Jetez un œil à la syntaxe simple de la boucle while :
while [ condition ] |
Le début et la fin d'une boucle while sont définis respectivement par les mots-clés do et done. La condition d'exécution/fin est définie entre crochets au début de la boucle.
Exemples de boucle Bash While
Pour exécuter les exemples ci-dessous, créez un fichier Bash avec l'extension .sh et collez le code à l'intérieur. Vous pouvez ensuite exécuter le code en tapant « bash » suivi du nom du fichier (par exemple, « whileloop.sh ») dans le terminal et en appuyant sur Entrée.
#1 Itérer un nombre fixe de fois
#!/bin/bash # Initializing a counter variable |
La boucle while ci-dessus parcourt le bloc de code trois fois et imprime l'instruction à chaque fois. L'exécution du script générera le résultat suivant :
Iteration count: 1 |
#2 Utiliser l'instruction « Break »
L'instruction break vous permet de terminer la boucle si une condition spécifique est remplie. Créez un fichier Bash avec le code suivant :
#!/bin/bash # Initializing a counter variable |
La boucle while ci-dessus parcourt le code trois fois, mais la valeur du compteur n'est imprimée que deux fois puisque l'instruction break termine la boucle lorsque le compteur atteint la valeur « 3 ». L'exécution du script générera le résultat suivant :
Iteration number 1 |
#3 Supprimer une étape avec l'instruction Continue
#!/bin/bash # Initializing the counter # Check counter value done |
Le code ci-dessus parcourra la boucle quatre fois, mais lorsque la valeur du compteur atteint trois, la valeur continue ignore le reste du code, revient au début et vérifie la condition.
Le résultat du code est :
Iteration number 1 |
#4 Lire un fichier
#!/bin/bash # Checking whether a command-line argument is provided # Assigning the filename from the provided value # Reading the file |
En supposant que vous collez ce code dans un fichier nommé « ReadingFileWithWhile.sh », l'exécution de la commande « bash ReadingFileWithWhile.bash » renverra « Aucun argument fourni ».
Cependant, si vous exécutez la même commande et lui transmettez un fichier texte, le résultat ressemblera à ceci :
$ bash ReadingFileWithWhile.bash names.txt |
#5 Écrire du texte dans un fichier
Le code suivant demandera un nom de fichier à l'utilisateur et y écrira le texte fourni :
#! /bin/bash echo -n “Enter the name of the file you want to create: “ |
Pour terminer la boucle de lecture du contenu, vous devez appuyer sur Ctrl+D.
#6 Créer une boucle infinie
L’écriture d’une boucle infinie peut être une solution adaptée à de nombreux problèmes. Faire une boucle while infinie est aussi simple que de ne pas mentionner de condition de terminaison. Cependant, vous devrez utiliser une instruction exit pour arrêter la boucle si nécessaire.
La boucle suivante sera itérée six fois, et lorsque la valeur deviendra six, l'instruction exit arrêtera la boucle :
#!/bin/bash # Initialize the counter done |
Le résultat du script ressemble à ceci :
Iteration number: 1 |
Conclusion
Dans ce guide, nous abordons quelques-unes des différentes manières d'utiliser les boucles while dans Bash. Il existe d'autres façons d'utiliser la boucle while et vous pouvez résoudre de nombreux problèmes différents avec elle.
Maintenant que vous connaissez les principes fondamentaux de la boucle while, vous pouvez l'implémenter dans vos scripts Bash.