Marquer un temps d’arrêt en bash avec SLEEP
I. Présentation
Dans ce tutoriel, nous allons apprendre à marquer un temps d'arrêt dans un script bash. Ce peut être une pratique utile dans beaucoup de cas différents. On peut par exemple lancer une commande de lancement d'une machine virtuelle puis vouloir faire une vérification afin de voir si celle-ci est bien démarré. On voudra alors marquer une temps d'arrêt entre le lancement et la vérification pour attendre que la VM ai bien démarré. Ce cas est un exemple parmis beaucoup d'autres.
II. La commande "sleep"
Nous allons pour le tutoriel utiliser "sleep" de manière très simple comme suivant dans un script bash appelé "script.bash" :
#!/bin/bash date echo "étape 1 :" ; sleep 10 date echo "étape 2 : " ;
Nous rendons ensuite exécutable notre script :
chmod +x script.sh
Puis nous l'exécutons :
./script.sh
Voila la sortie que nous en aurons :
On voit donc bien que le "10" correspond à une attente de 10 secondes. Essayons maintenant avec les minutes. On modifie donc légèrement notre script comme suivant :
#!/bin/bash date echo "étape 1 :"; sleep 1m date echo "étape2 :" ;
Nous aurons cette sortie :
On voit donc bien que par défaut, l'unité prise en compte est la seconde. Si nous voulons passer en minute il faut ajouter un "m" à la fin de l'unité de "sleep". De même pour les heures ("h") ou encore pour les jours ("d").