Les boucles sont l'un des concepts fondamentaux des langages de programmation. Les boucles sont pratiques lorsque vous souhaitez exécuter une série de commandes encore et encore jusqu'à ce qu'une condition spécifique soit remplie.
Dans les langages de script tels que Bash, les boucles sont utiles pour automatiser les tâches répétitives. Il existe 3 constructions de boucle de base dans les scripts Bash, for
boucle, while
boucle, et until
boucle.
Ce tutoriel explique les bases du until
boucle dans Bash.
Bash until
Boucle #
Le until
La boucle est utilisée pour exécuter un ensemble donné de commandes tant que la condition donnée est fausse.
Le Bash until
boucle prend la forme suivante :
until [CONDITION]
do
[COMMANDS]
done
La condition est évaluée avant l'exécution des commandes. Si la condition est fausse, les commandes sont exécutées. Sinon, si la condition est vraie, la boucle sera terminée et le contrôle du programme sera passé à la commande qui suit.
Dans l'exemple ci-dessous, à chaque itération la boucle imprime la valeur courante de la variable counter
et incrémente la variable de un.
#!/bin/bash
counter=0
until [ $counter -gt 5 ]
do
echo Counter: $counter
((counter++))
done
La boucle itère tant que le counter
variable a une valeur supérieure à quatre. Le script produira la sortie suivante :
Counter: 0
Counter: 1
Counter: 2
Counter: 3
Counter: 4
Counter: 5
Utilisez le break
et continue
instructions pour contrôler l'exécution de la boucle.
Bash until
Exemple de boucle #
Le script suivant peut être utile lorsque votre hôte git a des temps d'arrêt, et au lieu de taper manuellement git pull
plusieurs fois jusqu'à ce que l'hôte soit en ligne, vous pouvez exécuter le script une seule fois. Il essaiera d'extraire le référentiel jusqu'à ce qu'il réussisse.
#!/bin/bash
until git pull &> /dev/null
do
echo "Waiting for the git host ..."
sleep 1
done
echo -e "\nThe git repository is pulled."
Le script affichera "Waiting for the git host …" et sleep
pendant une seconde jusqu'à ce que l'hôte git soit en ligne. Une fois le référentiel extrait, il affichera "Le référentiel git est extrait".
Waiting for the git host ...
Waiting for the git host ...
Waiting for the git host ...
The git repository is pulled.
Conclusion #
Le while
et until
les boucles sont similaires les unes aux autres. La principale différence est que le while
la boucle itère tant que la condition est évaluée à true
et le until
la boucle itère tant que la condition est évaluée à false
.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.