Boucle until "Jusqu’à ce que"
>>> Code BASH
Version PDF

Dans cette astuce, nous apprendrons à utiliser la boucle "Until" en faisant un compteur.


I) Explications
II) Exemples
1) Exemple 1
2) Exemple 2


I) Explications

Haut de page

Pour définir une variable, suivez les instructions suivantes :

- Créez un nouveau script en tapant la commande :

vim script-5.sh

- Commencez le script par écrire le type de code utilisé :

#!/bin/bash

Le début de la boucle commence par "until" et se termine par "done". Voici l’architecture de la boucle :

until [ test ]
do
        Commandes exécutées jusqu'à ce que test soit vrai
done

On peut expliquer la boucle comme cela :

Jusqu’à ce que test soit vrai
FAIRE
— -> effectuer une action
recommencer

II) Exemples

Haut de page

1) Exemple 1

- Pour le script, je vais faire un compteur

  • On va demander à l’utilisateur de définir un nombre de secondes.
  • On fixe la valeur de la variable "compteur" à "0".
    • A chaque cycle de la boucle, nous allons attendre 1 seconde avec la commande "sleep".
    • A chaque cycle de la boucle, on incrémente la variable "compteur" de "1".
    • A chaque cycle de la boucle, on affiche le nombre de secondes.
  • La boucle va s’arrêter lorsque le nombre de secondes définit par l’utilisateur soit écoulé.

Pour information, les différents tests possibles sont les mêmes que pour la condition IF

- Tapez les lignes suivantes :

compteur=0

read -p 'Combien de secondes voulez-vous patienter ? ' seconde

until [ $compteur = $seconde ]
do
       sleep 1
       ((compteur++))
       echo -e "\ncompteur : $compteur"
done

- Exécutez le script avec la commande "bash script-9.sh". Vous devez obtenir ceci :

root@debian:~# bash script-9.sh
Combien de secondes voulez-vous patienter ? 5

compteur : 1

compteur : 2

compteur : 3

compteur : 4

compteur : 5

root@debian:~#

2) Exemple 2

- Deuxième exemple :

  • Jusqu’à ce que le fichier "STOP" soit créé dans le même répertoire que le script.
    • On affiche le message "Coucou"
    • On attend 1 seconde

- Voici le script :

until [ -e STOP ]
       do
       echo "Coucou"
       sleep 1
done

- Exécutez le script, vous devez obtenir ceci :
- Après quelques secondes, créez via une autre fenêtre le fichier "STOP". Le script va s’arrêter.

root@debian:~# bash script-11.sh
Coucou
Coucou
Coucou
 
 
8 août 2016  --  N.Salmon
 
 
 
 
Commentaires :
Répondre à cet article
 
 
Se connecter | Copyright © 2016 Idum