bash while
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 trois constructions de boucle de base dans les scripts Bash, pour boucle , en boucle et jusqu’à boucle.
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
.
Syntax
while [CONDITION] do [COMMANDS] done
bash while loop
L’instruction while commence par le mot-clé while, suivi de l’expression conditionnelle.
Avec l’exemple ci-dessous, à chaque itération, la valeur actuelle de la variable
i
est imprimée et incrémentée d’un.
i=0 while [ $i -le 4 ] do echo $i ((i++)) done
Production
0 1 2 3 4
bash while loop
Infinite while Loop
- Une boucle infinie est une boucle qui se répète indéfiniment et ne se termine jamais.
- Si la condition est toujours évaluée à true, vous obtenez une boucle infinie.
while : do echo "Press <CTRL+C> to exit." sleep 1 done
La boucle while ci-dessus s’exécutera indéfiniment. Vous pouvez terminer la boucle en appuyant sur
CTRL+C
.
boucle while bash
Read a File Line By Line
Parfois, vous devez lire un fichier, un flux de données ou une variable ligne par ligne.
file=/etc/myfile while read -r line; do echo $line done < "$file"
- Nous utilisons la redirection d’entrée
(<$file)
pour passer un fichier à la commande read, qui contrôle la boucle. - La boucle while s’exécutera jusqu’à ce que la dernière ligne soit lue.
bash loop while
break and continue Statements
- Les instructions break et continue peuvent être utilisées pour contrôler l’exécution de la boucle while.
break Statement
- L’instruction break met fin à la boucle en cours et transmet 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.
i=0 while [ $i -lt 4 ] do echo $i ((i++)) if [[ $i == 3 ]]; then break fi done echo 'All Done!'
Production
0 1 2 All Done!
bash continue
continue Statement
L’instruction continue quitte l’itération en cours d’une boucle et transmet le contrôle de programme à l’itération suivante de la boucle.
i=0 while [ $i -lt 5 ] do ((i++)) if [[ "$i" == '5' ]]; then continue fi echo "$i" done echo 'All Done!'
Production
1 2 3 4 All Done!