Bash Continuer Comment reprendre une boucle
Bash est un shell d'interface de ligne de commande populaire largement utilisé dans les systèmes d'exploitation Linux et Unix. L'une des fonctionnalités les plus utiles de Bash est sa capacité à exécuter des boucles, qui vous permettent d'automatiser des tâches répétitives. Cependant, vous souhaiterez parfois interrompre une boucle et la poursuivre plus tard. C'est là que l'instruction continue de Bash est utile. Dans cet article, nous allons explorer comment utiliser l'instruction continue de Bash pour reprendre une boucle.
Qu’est-ce qu’une boucle Bash ?
Avant d'entrer dans les détails de l'instruction continue de Bash, il est important de comprendre ce qu'est une boucle Bash. Une boucle est une construction de programmation qui vous permet d'exécuter un bloc de code à plusieurs reprises. Dans Bash, il existe deux types de boucles : la boucle for et la boucle while. La boucle for est utilisée pour parcourir un ensemble de valeurs, tandis que la boucle while est utilisée pour exécuter un bloc de code à plusieurs reprises tant qu'une certaine condition est vraie.
La déclaration Bash Continue
L'instruction Bash continue est utilisée pour ignorer l'itération en cours d'une boucle et passer à l'itération suivante. Ceci est utile si vous souhaitez ignorer certaines valeurs ou si vous devez interrompre une boucle et la reprendre plus tard. la syntaxe de l'instruction continue est la suivante -
continue
Lorsque Bash rencontre l'instruction continue, il arrête immédiatement l'exécution de l'itération en cours de la boucle et passe à l'itération suivante.
Utiliser Bash Continuer avec la boucle for
Voyons comment utiliser l'instruction continue de Bash avec la boucle for. Dans cet exemple, nous allons parcourir un ensemble de valeurs et ignorer toutes les valeurs divisibles par 2 -
Exemple
for i in {1..10}
do
if (( i % 2 == 0 )); then
continue
fi
echo $i
done
Dans cet exemple, nous utilisons l'opérateur de plage {1..10} pour parcourir les valeurs 1 à 10. Dans la boucle, nous utilisons l'opérateur de module pour vérifier si la valeur actuelle est divisible par 2. Si c'est le cas, nous utilisons l'instruction continue pour ignorer sur l'itération en cours et passer à la suivante. S'il n'est pas divisible par 2, nous utilisons la commande echo pour imprimer la valeur actuelle.
Sortir
La sortie de ce script sera -
1
3
5
7
9
Comme vous pouvez le constater, les valeurs 2, 4, 6, 8 et 10 ont été ignorées car elles sont divisibles par 2.
Utiliser Bash Continuer avec la boucle while
Voyons maintenant comment utiliser l'instruction continue de Bash avec la boucle while. Dans cet exemple, nous utiliserons une boucle while pour parcourir les valeurs 1 à 10 et ignorer toutes les valeurs supérieures à 5 -
Exemple
i=1
while (( i <= 10 ))
do
if (( i > 5 )); then
(( i++ ))
continue
fi
echo $i
(( i++ ))
done
Dans cet exemple, nous initialisons la variable i à 1 et utilisons une boucle while pour parcourir les valeurs 1 à 10. Dans la boucle, nous vérifions si la valeur actuelle est supérieure à 5. Si c'est le cas, nous utilisons l'instruction continue pour ignorer l'itération actuelle et passer au suivant. Nous utilisons également la commande (( i++ )) pour incrémenter la valeur de i. Si la valeur actuelle n'est pas supérieure à 5, nous utilisons la commande echo pour imprimer la valeur actuelle.
Sortir
La sortie de ce script sera -
1
2
3
4
5
Comme vous pouvez le constater, les valeurs 6, 7,
Continuer une boucle après l'avoir interrompue
Maintenant que nous avons vu comment utiliser l'instruction continue de Bash pour ignorer les itérations d'une boucle, voyons comment reprendre une boucle après l'avoir interrompue. Il existe plusieurs façons de procéder, selon la situation.
Utilisation d'une variable de contrôle de boucle
Une façon de reprendre une boucle après l’avoir interrompue consiste à utiliser une variable de contrôle de boucle. Une variable de contrôle de boucle est une variable que vous utilisez pour suivre l’état actuel de la boucle.
Exemple
i=1
while (( i <= 10 ))
do
if (( i == 5 )); then
break
fi
echo $i
(( i++ ))
done
echo "Loop interrupted at i = $i"
while (( i <= 10 ))
do
echo $i
(( i++ ))
done
Dans cet exemple, nous initialisons la variable i à 1 et utilisons une boucle while pour parcourir les valeurs 1 à 10. Dans la boucle, nous vérifions si la valeur actuelle de i est égale à 5. Si c'est le cas, nous utilisons l'instruction break pour interrompre la boucle. Nous imprimons ensuite un message indiquant que la boucle a été interrompue à i=5.
Une fois la boucle interrompue, nous utilisons une autre boucle while pour reprendre l'itération là où elle s'était arrêtée. Nous commençons simplement la boucle avec la valeur actuelle de i et continuons à itérer jusqu'à ce que nous atteignions la fin de la boucle.
Sortir
La sortie de ce script sera -
1
2
3
4
Loop interrupted at i = 5
5
6
7
8
9
10
Utiliser une fonction Une autre façon de reprendre une boucle après l'avoir interrompue consiste à utiliser une fonction. Une fonction est un bloc de code qui peut être appelé à plusieurs reprises. H
Exemple
function myloop() {
for i in {1..10}
do
if (( i == 5 )); then
return $i
fi
echo $i
done
}
i=$(myloop)
echo "Loop interrupted at i = $i"
for (( j=$i; j<=10; j++ ))
do
echo $j
done
Dans cet exemple, nous définissons une fonction appelée myloop qui contient une boucle for. Dans la boucle, nous vérifions si la valeur actuelle de i est égale à 5. Si c'est le cas, nous utilisons l'instruction return pour interrompre la boucle et renvoyer la valeur de i.
Une fois la boucle interrompue, nous appelons la fonction myloop et stockons la valeur de retour dans la variable i. Nous imprimons ensuite un message indiquant que la boucle a été interrompue à i=5.
Enfin, nous utilisons une boucle for pour reprendre l'itération là où elle s'est arrêtée. Nous initialisons la variable j à la valeur de i et continuons à itérer jusqu'à atteindre la fin de la boucle.
Sortir
La sortie de ce script sera -
1
2
3
4
Loop interrupted at i = 5
5
6
7
8
9
10
Conclusion
L'instruction Bash continue est un outil puissant qui vous permet de sauter les itérations d'une boucle et de reprendre la boucle là où elle s'est arrêtée. En utilisant l'instruction continue conjointement avec des variables ou des fonctions de contrôle de boucle, vous pouvez interrompre et reprendre les boucles de différentes manières. Que vous automatisiez des tâches répétitives ou traitiez de grandes quantités de données, l'instruction continue de Bash est un outil essentiel pour tout programmeur Bash.