Shell Scripting Tutorial for Beginners 15 - WHILE Loops
Table des matières:
- Bash while Loop
- Boucle infinie
- Lire un fichier ligne par ligne
- Déclarations Break and Continue
- Déclaration de pause
- Continuer la déclaration
- Conclusion
Les boucles sont l'un des concepts fondamentaux des langages de programmation. Les boucles sont pratiques lorsque vous souhaitez exécuter une série de commandes plusieurs fois jusqu'à ce qu'une condition particulière soit remplie.
Dans les langages de script tels que Bash, les boucles sont utiles pour automatiser les tâches répétitives. Il existe 3 constructions de boucle de base dans les scripts Bash, pour la boucle, la boucle while et la boucle until.
Ce didacticiel explique les bases des boucles while dans Bash ainsi que les instructions break et continue pour modifier le flux d'une boucle.
Bash while Loop
La boucle while est utilisée pour exécuter un ensemble donné de commandes un nombre inconnu de fois tant que la condition donnée est évaluée à true.
La boucle Bash while prend la forme suivante:
while do done
La condition est évaluée avant d'exécuter les commandes. Si la condition prend la valeur true, les commandes sont exécutées. Sinon, si la condition est fausse, la boucle sera terminée et le contrôle du programme sera passé à la commande qui suit.
Dans l'exemple ci-dessous, à chaque itération, la boucle imprime la valeur actuelle de la variable
i
et incrémente la variable de un.
i=0 while do echo Number: $i ((i++)) done
La boucle de mar itère tant que
i
est inférieur ou égal à deux. Il produira la sortie suivante:
Boucle infinie
Une boucle infinie est une boucle qui se répète indéfiniment et ne se termine jamais. Si la condition a toujours la valeur true, vous obtenez une boucle infinie.
Dans l'exemple suivant, nous utilisons la commande intégrée
:
qui renvoie toujours true pour créer une boucle infinie. Vous pouvez également utiliser la commande intégrée
true
ou toute autre instruction qui renvoie toujours true.
La boucle while ci-dessus s'exécutera indéfiniment. Vous pouvez terminer la boucle en appuyant sur
Voici un équivalent sur une seule ligne: L'une des utilisations les plus courantes de la boucle while est de lire un fichier, un flux de données ou une variable ligne par ligne. Dans l'exemple suivant, la boucle while lira le fichier
Au lieu de contrôler la boucle while avec une condition, nous utilisons la redirection d'entrée (
Lorsque vous lisez un fichier ligne par ligne, utilisez toujours
Par défaut, la commande de
Les instructions break et continue peuvent être utilisées pour contrôler l'exécution de la boucle while. L'instruction break termine la boucle en cours et passe le contrôle du programme à la commande qui suit la boucle terminée. Il est généralement utilisé pour terminer la boucle lorsqu'une certaine condition est remplie. Dans l'exemple suivant, l'exécution de la boucle sera interrompue une fois que l'élément itéré actuel est égal à
L'instruction continue quitte l'itération actuelle d'une boucle et passe le contrôle du programme à l'itération suivante de la boucle. Dans ce qui suit ci-dessous, une fois que l'élément itéré actuel est égal à
À présent, vous devriez avoir une bonne compréhension de l'utilisation de la boucle bash while.
while: do echo "Press to exit." sleep 1 done
while: do echo "Press to exit." sleep 1 done
CTRL+C
while:; do echo 'Press to exit.'; sleep 1; done
while:; do echo 'Press to exit.'; sleep 1; done
Lire un fichier ligne par ligne
/etc/passwd
ligne par ligne et imprimera chaque ligne.
file=/etc/passwd while read -r line; do echo $line done < "$file"
< "$file"
) pour passer un fichier à la
read
qui est la commande qui contrôle la boucle. La boucle while sera exécutée jusqu'à ce que la dernière ligne soit lue.
read
avec l'option
-r
pour éviter que la barre oblique inverse agisse comme un caractère d'échappement.
read
supprime les espaces blancs avant / arrière (espaces et tabulations). Utilisez l'option
IFS=
avant la commande de
read
pour éviter ce comportement
file=/etc/passwd while IFS= read -r line; do echo $line done < "$file"
Déclarations Break and Continue
Déclaration de pause
2
.
i=0 while do echo "Number: $i" ((i++)) if]; then break fi done echo 'All Done!'
Continuer la déclaration
2
l'instruction continue fera revenir l'exécution au début de la boucle et continuera avec l'itération suivante.
i=0 while do ((i++)) if]; then continue fi echo "Number: $i" done echo 'All Done!'
Number: 1 Number: 3 Number: 4 Number: 5 All Done!
Conclusion
Comment exécuter Bash sous Ubuntu sous Windows 10
L`activation de Windows Subsystem pour Linux vous permettra d`exécuter Bash sur Ubuntu sous Windows 10, scripts Bash , Outils de ligne de commande Linux, premiers outils Linux
Tableaux Bash
Les tableaux sont l'une des structures de données les plus utilisées et les plus fondamentales. Dans cet article, nous allons couvrir les tableaux Bash et expliquer comment les utiliser dans vos scripts Bash.
Bash for loop
Il existe 3 constructions de boucle de base dans les scripts Bash, pour la boucle, la boucle while et la boucle until. Dans ce didacticiel, nous couvrirons les bases des boucles for dans Bash ainsi que les instructions break et continue pour modifier le flux d'une boucle.







