Android

Verwendung des Befehls linux sleep zum Anhalten eines Bash-Skripts

Linux Tutorial for Beginners: Introduction to Linux Operating System

Linux Tutorial for Beginners: Introduction to Linux Operating System

Inhaltsverzeichnis:

Anonim

Sleep ist ein Befehlszeilenprogramm, mit dem Sie den Aufrufvorgang für eine bestimmte Zeit unterbrechen können. Mit anderen Worten, der Befehl sleep hält die Ausführung des nächsten Befehls für eine bestimmte Anzahl von Sekunden an.

Der Befehl sleep ist besonders nützlich, wenn er in einem Bash-Shell-Skript verwendet wird, z. B. wenn ein fehlgeschlagener Vorgang wiederholt oder eine Schleife ausgeführt wird.

In diesem Tutorial zeigen wir Ihnen, wie Sie den Linux-Befehl sleep verwenden.

So verwenden Sie den Befehl "sleep"

Die Syntax für den Befehl sleep lautet wie folgt:

sleep NUMBER…

Die NUMBER kann eine positive Ganzzahl oder eine Gleitkommazahl sein.

Der SUFFIX kann einer der folgenden sein:

  • s - Sekunden (Standard) m - Minuten h - Stunden d - Tage

Wenn kein Suffix verwendet wird, wird standardmäßig Sekunden verwendet.

Wenn zwei oder mehr Argumente angegeben werden, entspricht die Gesamtzeit der Summe ihrer Werte.

Hier sind einige einfache Beispiele, die die Verwendung des Befehls sleep veranschaulichen:

  • Schlaf für 5 Sekunden:

    sleep 5

    Schlaf für 0, 5 Sekunden:

    sleep 0.5

    Schlaf für 2 Minuten und 30 Sekunden:

    sleep 2m 30s

Beispiele für Bash-Skripte

Im Folgenden finden Sie das grundlegendste Beispiel für die Verwendung des Befehls sleep in Ihren Bash-Skripten. Wenn Sie das Skript ausführen, wird die aktuelle Uhrzeit im Format HH:MM:SS gedruckt. Dann hält der Befehl sleep das Skript für 5 Sekunden an. Nach Ablauf des angegebenen Zeitraums wird in der letzten Zeile des Skripts erneut die aktuelle Uhrzeit ausgegeben.

#!/bin/bash # start time date +"%H:%M:%S" # sleep for 5 seconds sleep 5 # end time date +"%H:%M:%S"

Die Ausgabe sieht ungefähr so ​​aus:

13:34:40 13:34:45

Schauen wir uns ein etwas fortgeschritteneres Beispiel an.

#!/bin/bash while: do if ping -c 1 ip_address &> /dev/null then echo "Host is online" break fi sleep 5 done

Das obige Skript überprüft alle 5 Sekunden, ob ein Host online ist, und wenn der Host online geht, benachrichtigt Sie das Skript und stoppt.

So funktioniert das Skript:

  • In der ersten Zeile erstellen wir eine unendliche while-Schleife. Dann bestimmen wir mit dem Befehl ping, ob der Host mit der IP-Adresse ip_address erreichbar ist oder nicht. Wenn der Host erreichbar ist, gibt das Skript die Meldung "Host ist online" aus und Beenden Sie die Schleife. Wenn der Host nicht erreichbar ist, hält der Befehl sleep das Skript für 5 Sekunden an und die Schleife beginnt von vorne.

Fazit

Inzwischen sollten Sie ein gutes Verständnis für die Verwendung des Linux-Befehls sleep haben.

Der Befehl sleep ist einer der einfachsten Shell-Befehle und akzeptiert nur ein Argument, mit dem das Ruheintervall angegeben wird.

Schlaf-Terminal