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 :

BashSleep01

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 :

BashSleep02

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").

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d’IT-Connect.fr et d’Information-security.fr.
Auditeur sécurité chez Amossys.

    mickael a publié 478 articles sur IT-Connect.See all posts by mickael

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *