Présentation
Le continue
L'instruction est une fonction intégrée de Bash qui modifie le flux des boucles de script. Le concept n'est pas propre à Bash et apparaît dans d'autres langages de programmation.
La meilleure façon de comprendre comment le Bash continue
l'énoncé fonctionne grâce à des exemples pratiques.
Ce tutoriel montre comment utiliser le Bash continue
déclaration dans les scripts Bash.
Prérequis
- Une machine exécutant Linux ou macOS.
- Un éditeur de texte pour les exemples.
- Connaissance de base des scripts Bash.
La déclaration continue de Bash
Le Bash continue
L'instruction reprend l'itération suivante dans une boucle ou une instruction en boucle.
La syntaxe est :
continue <integer>
Le continue
L'instruction n'a de sens que lorsqu'elle est appliquée à des boucles. La valeur entière indique la profondeur pour le continue
déclaration. Par défaut, l'entier est 1
et écrire le numéro n'est pas obligatoire. Augmentez le nombre pour reprendre une instruction de boucle externe.
Utilisez un continue
instruction en tant qu'instruction de contrôle de boucle. Par exemple, le continue
L'instruction permet de terminer l'itération en cours à l'intérieur d'une boucle lorsqu'une condition spécifique est remplie. Selon le type de boucle, le programme reprend à l'itération suivante ou redémarre la boucle.
Bash continue Exemples
Vous trouverez ci-dessous des exemples et des explications sur l'utilisation de l'instruction continue dans les scripts Bash.
Les constructions de boucle principales suivantes illustrent le fonctionnement de l'instruction :
- La boucle for continue à l'itération suivante lorsqu'elle est combinée avec continue.
- L'instruction continue redémarre le
while
etuntil
boucles.
Le select
La commande apparaît également dans les exemples, même s'il ne s'agit pas d'une construction de boucle principale. L'instruction fonctionne comme une boucle et le continue
l'instruction fonctionne pour n'importe quelle commande en boucle.
Utiliser Bash Continuer avec une boucle for
Utilisez le continue
instruction à l'intérieur d'un if conditionnel pour contrôler le flux d'un for
:
#!/bin/bash
for i in {1..10}
do
if [[ $i == '9' ]]
then
echo "Number $i!"
continue
fi
echo "$i"
done
echo "Done!"
Le code fait ce qui suit :
- Ligne 3 démarre le
for
condition de boucle, en itérant la variablei
de1
à10
. - Ligne 5 vérifie le
i
valeur. Lorsque la variable vaut9
, le programme renvoie un message et relance la boucle à la prochaine itération (ligne 3 ). - Ligne 10 imprime le nombre sur la console uniquement lorsque l'instruction conditionnelle de la ligne 5 est Faux .
Exécutez le script pour voir les résultats.
La sortie imprime tous les numéros individuels sur la console. Lorsque la condition de la ligne 5 est évaluée à True ($i == '9'
), la console renvoie un message.
Utilisation de Bash Continuer avec la boucle imbriquée
Le continue
l'instruction fonctionne avec les boucles imbriquées aussi bien. Par exemple, utilisez continue 2
pour reprendre une boucle externe :
#!/bin/bash
for i in {1..5}
do
for j in {1..5}
do
if [[ $i -eq $j ]]
then
echo "$i = $j"
continue 2
fi
echo "$i =/= $j"
done
done
echo "Done!"
Le programme effectue les opérations suivantes :
- Ligne 3 démarre la boucle externe, en incrémentant la variable
i
de1
à5
. - Ligne 5 démarre une boucle for interne, en incrémentant la variable
j
de1
à5
pour chaquei
incrément. - Ligne 7 vérifie si les variables
i
etj
sont égaux ($i -eq $j
). Si c'est le cas, lecontinue 2
L'instruction reprend la boucle externe à l'itération suivante. Cependant, si les valeurs sont différentes, le programme continue comme prévu.
Exécutez le script pour voir la sortie du programme.
Chaque fois que les deux valeurs sont égales, le premier nombre augmente.
Utiliser Bash Continuer avec une boucle while
Vous trouverez ci-dessous un exemple de script Bash qui utilise le <strong>continue</strong>
instruction dans un while
boucle :
#!/bin/bash
i=0
while [[ $i -lt 11 ]]
do
if [[ "$i" == '9' ]]
then
echo "Number $i!"
((i++))
continue
fi
echo $i
((i++))
done
Chaque ligne fait ce qui suit :
- Ligne 3 définit une variable
i
et définit la valeur sur0
. - Ligne 5 lance un
while
boucle. La condition de fin est lorsquei
est inférieur à11
. - Ligne 7 indique une vérification de condition à l'aide d'un
if
déclaration. Lorsque la variablei
est égal à9
, le programme passe aux lignes 9-11 . Dans tous les autres cas, le code saute à la ligne 13 . - Lignes 9 à 11 imprimer un message sur la console, incrémenter
i
, et lecontinue
l'instruction reprend la boucle à la ligne 5 . - Lignes 13 et 14 imprimer la variable
i
à la console et incrémentez-le.
Pour voir la sortie, exécutez le script depuis le terminal.
Le programme imprime tous les numéros sur la console. En raison des instructions conditionnelles et continues, un message différent s'imprime pour le numéro 9
.
Utiliser Bash Continuer avec une boucle jusqu'à
Combinez le continue
déclaration avec un until
loop et fournir une condition pour modifier le comportement de la boucle pour une certaine valeur. Par exemple, essayez le script suivant :
#!/bin/bash
i=0
until [[ $i -gt 10 ]]
do
if [[ $i -eq 9 ]]
then
echo "Number $i!"
((i++))
continue
fi
echo $i
((i++))
done
Le code incrémente une variable et boucle jusqu'à ce que la valeur atteigne 10
. Lorsque la variable vaut 9
, le programme affiche un message différent. Le continue
l'instruction redémarre le until
boucle et continue comme d'habitude.
Utiliser Bash Continuer avec une boucle sélectionnée
Le select
La commande est un cas particulier car il ne s'agit pas d'une boucle de script Bash principale. La commande crée des menus qui nécessitent une entrée de l'utilisateur. Utilisez le continue
pour fournir une sortie différente en fonction de la valeur sélectionnée par l'utilisateur.
Par exemple, essayez le script Bash suivant :
#!/bin/bash
PS3="Choose a number: "
select i in {1..10}
do
echo "Selected number: $i"
if [[ $REPLY -eq 9 ]]
then
echo "Number $i!"
continue
fi
done
Le script se compose des éléments suivants :
- La
PS3
à la ligne 3 est le message d'affichage pour leselect
boucle. - Ligne 5 définit la condition de la boucle, listant les numéros à partir de
1
à10
. La variablei
stocke l'entrée de l'utilisateur. - Ligne 7 fait écho à la sélection.
- Ligne 8 effectue un contrôle. Si la valeur saisie par l'utilisateur est
9
, le programme imprime un message sur la console et continue laselect
boucle à la prochaine itération.
Exécutez le script et testez différentes valeurs pour voir la sortie.
Pour quitter le programme, appuyez sur CTRL +C ou ajoutez une instruction break.