Les boucles vous permettent d'exécuter plusieurs fois une ou plusieurs commandes jusqu'à ce qu'une certaine condition soit remplie. Cependant, vous devrez parfois modifier le flux de la boucle et terminer la boucle ou uniquement l'itération en cours.
Dans Bash, break
et continue
vous permet de contrôler l'exécution de la boucle.
Bash break
Relevé #
La break
L'instruction termine la boucle en cours et passe le contrôle du programme à la commande qui suit la boucle terminée. Il est utilisé pour sortir d'un for
, while
, until
, ou select
loop.sLa syntaxe du break
déclaration prend la forme suivante :
break [n]
[n]
est un argument facultatif et doit être supérieur ou égal à 1. Lorsque [n]
est fournie, la n-ième boucle englobante est quittée. break 1
est équivalent à break
.
Pour mieux comprendre comment utiliser le break
déclaration, examinons les exemples suivants.
Dans le script ci-dessous, l'exécution du while
la boucle sera interrompue une fois que l'élément itéré courant sera égal à 2
:
i=0
while [[ $i -lt 5 ]]
do
echo "Number: $i"
((i++))
if [[ $i -eq 2 ]]; then
break
fi
done
echo 'All Done!'
Number: 0
Number: 1
All Done!
Voici un exemple d'utilisation du break
déclaration à l'intérieur de for
imbriqué boucles.
Lorsque l'argument [n]
n'est pas donné, break
termine la boucle englobante la plus interne. Les boucles externes ne sont pas terminées :
for i in {1..3}; do
for j in {1..3}; do
if [[ $j -eq 2 ]]; then
break
fi
echo "j: $j"
done
echo "i: $i"
done
echo 'All Done!'
j: 1
i: 1
j: 1
i: 2
j: 1
i: 3
All Done!
Si vous voulez sortir de la boucle externe, utilisez break 2
. Argument 2
dit break
pour terminer la deuxième boucle englobante :
for i in {1..3}; do
for j in {1..3}; do
if [[ $j -eq 2 ]]; then
break 2
fi
echo "j: $j"
done
echo "i: $i"
done
echo 'All Done!'
j: 1
All Done!
Bash continue
Relevé #
Le continue
ignore les commandes restantes à l'intérieur du corps de la boucle englobante pour l'itération en cours et passe le contrôle du programme à l'itération suivante de la boucle.
La syntaxe du continue
déclaration est la suivante :
continue [n]
Le [n]
l'argument est facultatif et peut être supérieur ou égal à 1. Lorsque [n]
est donnée, la n-ième boucle englobante est reprise. continue 1
est équivalent à continue
.
Dans l'exemple ci-dessous, une fois que l'élément itéré courant est égal à 2
, le continue
fera revenir l'exécution au début de la boucle et continuer avec l'itération suivante.
i=0
while [[ $i -lt 5 ]]; do
((i++))
if [[ "$i" == '2' ]]; then
continue
fi
echo "Number: $i"
done
echo 'All Done!'
Number: 1
Number: 3
Number: 4
Number: 5
All Done!
Le script suivant imprime les nombres à partir de 1
jusqu'à 50
qui sont divisibles par 9
.
Si un nombre n'est pas divisible par 9
, le continue
l'instruction ignore l'echo
commande et passe le contrôle à la prochaine itération de la boucle.
for i in {1..50}; do
if [[ $(( $i % 9 )) -ne 0 ]]; then
continue
fi
echo "Divisible by 9: $i"
done
Divisible by 9: 9
Divisible by 9: 18
Divisible by 9: 27
Divisible by 9: 36
Divisible by 9: 45
Conclusion #
Les boucles sont l'un des concepts fondamentaux des langages de programmation. Dans les langages de script tels que Bash, les boucles sont utiles pour automatiser les tâches répétitives.
La break
L'instruction est utilisée pour sortir de la boucle en cours. Le continue
est utilisée pour quitter l'itération actuelle d'une boucle et commencer l'itération suivante.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.