Bref : Dans ce guide, nous aborderons des exemples pratiques de commandes de mise en veille. Après avoir suivi ce guide, les programmeurs Linux pourront utiliser la commande sleep pour écrire des scripts shell robustes.
Les programmeurs Linux et les administrateurs système préfèrent écrire des scripts shell pour automatiser des tâches simples. Cependant, écrire un script robuste n’est pas une tâche facile. Nous devons gérer de nombreux cas particuliers, tels que le mécanisme de nouvelle tentative, le débogage, la journalisation, le rapport d’erreurs, etc.
En plus de cela, plusieurs fois, nous devons simuler un retard dans l’exécution de la commande pour tester des scénarios de temporisation. De même, nous devons introduire des délais dans le script pour implémenter le mécanisme de nouvelle tentative. Les sommeil La commande est une solution parfaite pour gérer de tels scénarios.
Dans ce guide, nous discuterons de l’utilisation du sommeil commande. Comme son nom l’indique, le sommeil commande est utilisée pour retarder l’exécution de la commande suivante. Il provoque la mise en veille du programme appelant pendant un laps de temps spécifié.
Alors, apprenons-en plus sur sommeil commandes avec des exemples pratiques sous Linux.
Syntaxe de la commande sleep
La syntaxe de la sommeil La commande est très simple, car elle accepte un paramètre obligatoire avec un suffixe facultatif :
$ sleep <NUMBER>[SUFFIX]
Il est important de noter que, dans la syntaxe ci-dessus, il n’y a pas d’espace entre le NUMÉRO et SUFFIXE.
1. Comment retarder l’exécution de la commande Linux
Par défaut, le sommeil commande attend un certain nombre de secondes. Pour comprendre cela, imprimons l’heure actuelle avant et après le sommeil commande:
Par exemple, la commande suivante attend 5 secondes après l’impression de l’heure actuelle :
$ date '+%r'; sleep 5; date '+%r'
Dans cet exemple, nous avons utilisé un point-virgule (;)
pour séparer chaque commande.
2. Comment faire une commande pour attendre N minutes
En option, le sommeil La commande nous permet de spécifier l’unité de temps en utilisant les suffixes. Nous pouvons utiliser les suffixes suivants avec la commande sleep :
s
– pour spécifier les unités de temps en secondes.m
– pour spécifier les unités de temps en minutes.h
– pour spécifier les unités de temps en heures.d
– pour spécifier les unités de temps en jours.
Alors, utilisons le 'm'
suffixe pour dormir 1 minute:
$ date '+%r'; sleep 1m; date '+%r'
Le point important à noter est qu’il ne devrait pas y avoir d’espace entre NUMÉRO et SUFFIXE.
3. Comment mettre la commande en veille pendant X minutes et secondes
Nous pouvons utiliser plusieurs suffixes avec le sommeil commande. Dans un tel cas, la durée est calculée en additionnant toutes les valeurs.
Pour comprendre cela, utilisons la commande suivante pour dormir pendant 1 minutes et 20 secondes :
$ date '+%r'; sleep 1m 20s; date '+%r'
Dans l’exemple ci-dessus, nous avons utilisé deux suffixes différents. Cependant, nous pouvons également utiliser les mêmes suffixes.
Par exemple, nous pouvons utiliser 2s et 3s suffixe pour dormir pour 5 secondes :
$ date '+%r'; sleep 2s 3s; date '+%r'
4. Comment utiliser les nombres à virgule flottante avec la commande sleep
De plus, le sommeil La commande accepte également un nombre à virgule flottante en entrée. Nous pouvons utiliser cette méthode pour dormir moins d’une seconde.
Par exemple, nous pouvons utiliser le 0,5 s valeur pour dormir une demi-seconde :
$ date '+%r'; sleep 0.5s; date '+%r'
Dans la sortie ci-dessus, nous pouvons voir que la commande date affiche la même valeur pour l’unité de temps des secondes.
En plus de cela, nous pouvons également utiliser des valeurs flottantes avec d’autres suffixes. Par exemple, nous pouvons utiliser le 0,5 m valeur pour dormir 30 secondes :
$ date '+%r'; sleep 0.5m; date '+%r'
5. Comment simuler un réveil à l’aide de la commande sleep
Dans les quelques exemples précédents, nous avons vu comment utiliser le sommeil commande pour retarder l’exécution de la commande suivante. Nous pouvons utiliser cette astuce pour simuler un réveil.
Alors, utilisons la commande ci-dessous pour régler l’alarme après 5 secondes :
$ sleep 5; cvlc alarm.mp3
La commande ci-dessus ouvre le alarme.mp3 fichier à l’aide du lecteur multimédia VLC après avoir attendu 5 minutes. Comme toute autre commande Linux, nous pouvons utiliser le ctrl+c
combinaison de touches pour arrêter le lecteur multimédia VLC.
Dans cet exemple, nous avons utilisé le lecteur multimédia VLC mais il est possible d’utiliser n’importe quel autre lecteur multimédia Linux ou utilitaire audio pour obtenir le même résultat.
6. Comment simuler une horloge numérique avec la commande sleep
Pour simuler une horloge numérique, nous pouvons exécuter le sommeil commande dans une boucle infinie après chaque seconde. Comprenons cela avec un exemple.
Commençons par écrire un simple script shell appelé digital-clock.sh avec le code suivant :
#!/bin/bash while [ 1 ] do clear tput cup 5 30 date '+%r' sleep 1 done
Dans ce script, nous avons utilisé le mettre commande pour placer le curseur sur 5ème ligne et 30e colonne.
Maintenant, exécutons le script et voyons le résultat :
$ chmod +x digital-clock.sh $ ./digital-clock.sh
Enfin, nous pouvons utiliser le ctrl+c
combinaison de touches pour arrêter l’exécution du script.
Dans ce guide, nous avons expliqué comment utiliser le sommeil commande pour retarder l’exécution de la commande suivante. Les programmeurs Linux peuvent utiliser sommeil commandes pour écrire des scripts shell robustes.
Connaissez-vous un autre meilleur exemple de la commande sleep sous Linux ? Faites-nous part de vos opinions dans les commentaires ci-dessous.
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.
Nous sommes reconnaissants pour votre soutien sans fin.