Émuler la boucle Do-While dans Bash
-
Syntaxe de base de la boucle
do-while
dans Bash -
La déclaration
break
dans Bash -
l’instruction
continue
en 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.