Émuler la boucle Do-While dans Bash
-
Syntaxe de base de la boucle
do-whiledans Bash -
La déclaration
breakdans Bash -
l’instruction
continueen Bash
La boucle est une idée fondamentale en programmation qui sera très utile dans les tâches multitâches. Nous pouvons utiliser de nombreuses fonctions telles que for, while et until pour boucler dans les scripts bash.
Dans cette leçon, nous verrons comment utiliser la boucle do-while dans bash.
Syntaxe de base de la boucle do-while dans Bash
La syntaxe fondamentale d’une boucle do-while est la suivante.
while [condition]
do
first command;
second command;
.
.
.
nth command;
done
Les paramètres d’une boucle while peuvent être n’importe quelle expression booléenne. Lorsque le conditionnel n’est jamais évalué à false, la boucle devient infinie.
Appuyez sur CTRL + C pour arrêter la boucle infinie. Regardons un exemple :
#!/bin/bash
x=0
while [ $x -le 4 ]
do
echo "The value is $x"
((x++))
done
La valeur courante de la variable est imprimée et augmentée de un à chaque itération dans l’exemple. La valeur initiale de la variable $x est 0.
Le script ci-dessus s’exécutera jusqu’à ce que la quatrième ligne soit atteinte. Le suffixe -le signifie inférieur ou égal à.
Production :
The value is 0
The value is 1
The value is 2
The value is 3
The value is 4
La déclaration break dans Bash
Nous utilisons une instruction break à l’intérieur de la boucle pour terminer la boucle lorsqu’une condition est remplie.
Par exemple, la boucle se terminera dans le script ci-dessous après la neuvième itération. On peut cependant arrêter le bouclage à la quatrième itération en utilisant les instructions break et if.
#!/bin/bash
x=0
while [ $x -le 9 ]
do
echo "The value is $x"
((x++))
if [[ "$x" == '4' ]];
then
break
fi
done
Production :
The value is 0
The value is 1
The value is 2
The value is 3
l’instruction continue en Bash
L’instruction continue quitte l’itération de la boucle en cours et transfère le contrôle du programme à l’itération suivante.
Prenons un exemple. Lorsque l’élément itéré courant vaut 3, l’instruction continue fait revenir l’exécution au début de la boucle et continue avec l’itération suivante.
#!/bin/bash
x=0
while [ $x -le 5 ]
do
((x++))
if [[ "$x" == '3' ]];
then
continue
fi
echo "The value is $x"
done
Production :
The value is 1
The value is 2
The value is 4
The value is 5
The value is 6
Comme prévu dans la sortie ci-dessus, lorsque $x équivaut à 3, il saute l’itération et passe à la suivante.