Skip to main content

Comment utiliser la commande "sleep" de Linux pour suspendre un script BASH

Utiliser la commande exécuter (Avril 2025)

Utiliser la commande exécuter (Avril 2025)
Anonim

Ce guide explique comment utiliser la commande de mise en veille Linux pour suspendre un script bash.

À elle seule, la commande de veille est totalement inutile sauf si vous souhaitez verrouiller la fenêtre de votre terminal, mais elle peut être utilisée dans un script de différentes manières, y compris comme facteur de pause avant de réessayer une commande.

Par exemple, imaginez que vous disposiez d'un script qui traitait des fichiers copiés à partir d'un autre serveur. Le script ne doit pas démarrer le processus de copie avant le téléchargement complet des fichiers. Le processus de téléchargement est effectué par un script complètement séparé.

Le script de copie des fichiers peut contenir une boucle permettant de vérifier si tous les fichiers ont été téléchargés (c’est-à-dire qu’il sait qu’il devrait y avoir 50 fichiers et que 50 fichiers ont été trouvés, le processus de copie est lancé).

Il est inutile que le script teste continuellement, car cela prend du temps au processeur. Au lieu de cela, vous pouvez choisir de vérifier si le nombre de fichiers copiés est suffisant ou non. Faites une pause de quelques minutes, puis réessayez. La commande de sommeil est parfaite dans ces circonstances.

Comment utiliser la commande sleep

Pour utiliser la commande de veille Linux, entrez les informations suivantes dans la fenêtre du terminal:

dormir 5s

La commande ci-dessus fera une pause de votre terminal pendant 5 secondes avant de revenir à la ligne de commande.

La commande de veille nécessite le mot-clé 'veille' suivi du numéro avec lequel vous souhaitez mettre en pause, puis de l'unité de mesure.

Vous pouvez spécifier le délai en secondes, minutes, heures ou jours.

  • s - secondes
  • m - minutes
  • h - heures
  • d - jours

Quand il s'agit d'attendre des jours, il peut être intéressant d'utiliser un travail cron pour exécuter le script à intervalles réguliers, au lieu de laisser un script s'exécuter en arrière-plan pendant plusieurs jours.

Le numéro de la commande de veille ne doit pas nécessairement être un nombre entier. Vous pouvez également utiliser des nombres à virgule flottante.

Par exemple, il est parfaitement correct d’utiliser la syntaxe suivante:

dormir 3.5s

Un exemple d'utilisation de la commande sleep

Le script suivant montre comment utiliser la commande sleep pour créer un compte à rebours basé sur un terminal:

#! / bin / bashx = 10tandis que $ x -gt 0fairedormir 1sclairecho "$ x secondes jusqu'à l'explosion"x = $ (($ x - 1))terminé

Le script définit la variable x sur 10. La boucle while continue à itérer tant que la valeur de x est supérieure à zéro.

La commande sleep met le script en pause pendant 1 seconde chaque fois autour de la boucle.

Le reste du script efface l'écran à chaque itération, affiche le message "x secondes jusqu'à l'extinction" (c'est-à-dire 10), puis soustrait 1 de la valeur de x.

Sans la commande sleep, le script effectuerait un zoom avant et les messages seraient affichés trop rapidement.

Interrupteurs

La commande de veille ne comporte que deux commutateurs.

Le commutateur --help affiche le fichier d'aide de la commande sleep. Vous pouvez obtenir la même chose en utilisant la commande man comme suit:

homme dort

La commande --version affiche la version de la commande de veille installée sur votre système.

Les informations renvoyées par le commutateur --version sont les suivantes:

  • Numéro de version
  • Droits d'auteur
  • Licence
  • Auteurs