Présentation
Dans les scripts Bash, un break
L'instruction aide à fournir un contrôle à l'intérieur des instructions de boucle. Au lieu d'attendre la condition de fin, un break
L'instruction aide à sortir d'une boucle avant que la condition de fin ne se produise.
Les instructions de la boucle de contrôle (break
et continuer) se combinent logiquement avec des instructions conditionnelles telles que if elif else pour créer des situations spéciales à l'intérieur des boucles.
Ce didacticiel vous apprend à utiliser le break
instruction efficacement dans les boucles de script Bash.
Prérequis
- Une machine exécutant macOS ou Linux.
- Principes de base des scripts bash (comme l'écriture et l'exécution d'un script).
- Un éditeur de texte pour écrire les exemples de script Bash, comme nano.
Déclaration de rupture bash
La break
L'instruction termine l'itération de la boucle en cours et quitte la boucle. Lorsqu'il est combiné avec une condition, break
aide à fournir une méthode pour sortir de la boucle avant que le cas final ne se produise.
La break
de Bash les instructions s'appliquent toujours aux boucles.
La syntaxe est :
break <integer>
La valeur entière est facultative et elle est 1
par défaut. Le nombre définit la profondeur de la break
pour les boucles imbriquées. Par conséquent, pour rompre avec une boucle for imbriquée, utilisez break 2
.
Exemples de rupture bash
Les exemples ci-dessous montrent comment sortir de différents types de boucles en utilisant le break
déclaration. Les exemples incluent :
- Le
while
standard , pour etuntil
boucles. - Le
select
commande.
Chaque exemple de script Bash ci-dessous est accompagné d'une explication.
Sortir d'une boucle while
Utilisez le break
instruction pour quitter un while
boucle lorsqu'une condition particulière se réalise. Le script suivant utilise un break
dans un while
boucle :
#!/bin/bash
i=0
while [[ $i -lt 11 ]]
do
if [[ "$i" == '2' ]]
then
echo "Number $i!"
break
fi
echo $i
((i++))
done
echo "Done!"
Chaque ligne du script effectue les actions suivantes :
- Ligne 3 définit et définit la variable
i
à0
. - Ligne 5 démarre le
while
boucle. La condition de fin est lorsque la variable est inférieure à onze ($i -lt 11
). - Ligne 7 effectue une vérification à l'aide d'un
if
déclaration. Lorsque la variable vaut deux ("$i" == 2
), le programme quitte lewhile
boucle en utilisant le Bashbreak
déclaration à la ligne 10 . Dans ce cas, le code saute à la ligne 16 . Si la variable est un nombre différent, le script continue comme prévu à la ligne 12 .
Exécutez le script pour voir les résultats.
Le programme répertorie les nombres jusqu'à 2
et quitte le script.
Utilisation de break Inside pour les boucles
Un for
loop incrémente une variable automatiquement. Pour ajouter une instruction conditionnelle et quitter un for
boucler tôt, utilisez un break
déclaration. Le code suivant montre un exemple d'utilisation d'un break
dans un for
boucle :
#!/bin/bash
for i in {1..10}
do
if [[ $i == '2' ]]
then
echo "Number $i!"
break
fi
echo "$i"
done
echo "Done!"
Lorsque la valeur entière est égale à deux ($i == '2'
), le programme imprime un message et quitte le for
boucle grâce au break
déclaration.
Par conséquent, l'exécution du script termine le programme lorsque la variable i
atteint deux et saute à la dernière ligne de code.
Suppression d'une boucle jusqu'à
Un Bash until
loop est l'une des trois constructions de boucle fondamentales. Ajouter une break
pour contrôler le déroulement du programme et quitter la boucle dans une condition différente.
Ci-dessous un exemple de programme :
#!/bin/bash
i=0
until [[ $i -gt 10 ]]
do
if [[ $i -eq 2 ]]
then
echo "Number $i!"
break
fi
echo $i
((i++))
done
echo "Done!"
Bien que le until
la boucle contient une condition de fin ($i -gt 10
), le corps de la boucle contient une autre condition ($i -eq 2
). Étant donné que la deuxième condition se produit avant la première, le programme entre le if
corps de l'instruction, qui contient une instruction Bash break pour sortir de la boucle.
L'exécution du script montre que le programme se termine lorsque la variable i
atteint la valeur 2
.
Utilisation de break à l'intérieur d'une boucle sélectionnée
Le select
La commande crée des menus et se comporte comme une boucle infinie, même si ce n'est pas l'une des constructions de boucle principales. Pour quitter le select
élégamment, créez un cas pour lequel le programme se termine et utilisez break
pour quitter la boucle.
Le code ci-dessous illustre un jeu de devinettes de nombres textuels utilisant un select
déclaration :
#!/bin/bash/
PS3="Guess my favorite number: "
select i in {1..10}
do
echo "Selected number: $i"
if [[ $REPLY -eq 2 ]]
then
echo "Correct! $i is my favorite. Thanks for playing!"
break
fi
echo "Not my favorite. Try again!"
done
Le code fait ce qui suit :
- Ligne 3 affiche le message d'instruction. Le
select
imprime ce message après avoir listé toutes les options et après chaque estimation incorrecte. - Ligne 5 lance le
select
déclaration et définit les options comme des nombres1
à10
. - Ligne 8 vérifie si le nombre sélectionné est égal à
2
, qui est la bonne supposition. Si la vérification réussit, l'instruction Bash break permet de sortir de la boucle et de terminer le jeu.
Exécutez le script pour jouer au jeu de devinettes.
Entrez différentes valeurs pour voir les résultats.
Pour développer davantage le script, essayez d'ajouter un elif
pour vérifier les entrées hors plage ou remplacez-la par une instruction case pour prendre en compte diverses situations d'entrée.