GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden des Linux-Sleep-Befehls in Bash-Skripten

Der Linux-Schlafbefehl ist einer der einfachsten Befehle, die es gibt. Wie Sie aus dem Namen erraten können, ist seine einzige Funktion das Schlafen. Mit anderen Worten, es führt eine Verzögerung für eine bestimmte Zeit ein.

Wenn Sie also den Schlafbefehl mit x verwenden, kann der nächste Befehl erst nach x Sekunden ausgeführt werden.

Der Sleep-Befehl hat eine einfache Syntax:

sleep Number[Suffix]

Hier könnte das Suffix sein:

  • Sekunden lang. Dies ist die Voreinstellung.
  • m für Minuten.
  • Stunden für Stunden.
  • Tage lang.

Sehen wir uns einige Beispiele für den Schlafbefehl an.

Beispiele für Bash-sleep-Befehle

Obwohl Sie es direkt in einer Shell verwenden können, wird der Befehl sleep häufig verwendet, um eine Verzögerung bei der Ausführung eines Bash-Skripts einzuführen. Ich werde die Verwendung des Schlafbefehls anhand von Beispiel-Bash-Skripten zeigen.

Sleep-Befehl ohne Suffix zählt in Sekunden

Angenommen, Sie möchten Ihr Bash-Skript für 5 Sekunden pausieren, können Sie sleep wie folgt verwenden:

sleep 5

In einem Beispiel-Bash-Skript könnte es so aussehen:

!/bin/bash
echo "Sleeping for 5 seconds…"
sleep 5
echo "Completed"

Wenn Sie es mit dem Befehl time ausführen, werden Sie sehen, dass das Bash-Skript tatsächlich (etwas) länger als 5 Sekunden lief.

time ./sleep.sh 
Sleeping for 5 seconds…
Completed

real    0m5.008s
user    0m0.000s
sys    0m0.007s

Sleep-Befehl mit Minuten- oder Stunden- oder Tagessuffix

Sie können die Ruhezeit folgendermaßen in Minuten angeben:

sleep 1m

Dadurch wird das Skript/die Shell für eine Minute angehalten. Wenn Sie das Skript um Stunden verzögern möchten, können Sie dies mit der Option h tun:

sleep 2h

Auch wenn Sie das Bash-Skript tagelang pausieren möchten, können Sie dies mit dem Suffix d tun:

sleep 5d

Dies könnte hilfreich sein, wenn Sie an abwechselnden Tagen oder Wochentagen laufen möchten.

Schlafbefehl mit einer Kombination aus Sekunde, Minute, Stunde und Tag

Sie sind nicht verpflichtet, jeweils nur ein Suffix zu verwenden. Sie können mehr als ein Suffix verwenden und die Schlafdauer ist die Summe aller Suffixe.

Wenn Sie beispielsweise den folgenden Befehl verwenden:

sleep 1h 10m 5s

Dadurch wartet das Skript 1 Stunde, 10 Minuten und 5 Sekunden. Beachten Sie, dass das Suffix hier immer noch optional ist.

Bonus-Tipp:Weniger als eine Sekunde schlafen

Sie haben vielleicht bemerkt, dass die kleinste Zeiteinheit im Sleep-Befehl die Sekunde ist. Aber was ist, wenn Ihr Bash-Skript für Millisekunden schläft?

Das Gute ist, dass Sie Fließkomma (Dezimalkomma) mit dem Schlafbefehl verwenden können.

Wenn Sie also eine Pause von 5 Millisekunden einführen möchten, verwenden Sie sie wie folgt:

sleep 0.005

Sie können Dezimalpunkte auch mit anderen Suffixen verwenden.

sleep 1.5h 7.5m

Es wird eine Verzögerung von 1 Stunde, 37 Minuten und 30 Sekunden eingeführt.

Ich hoffe, Sie haben beim Lesen dieser Beispiele für Schlafbefehle nicht geschlafen 😉

Wenn Sie sich für Shell-Scripting interessieren, möchten Sie vielleicht auch etwas über String-Vergleiche in Bash lesen. Wenn Sie Fragen oder Anregungen haben, können Sie diese gerne stellen.


Linux
  1. Verwenden von Bash für die Automatisierung

  2. Schlafbefehl mit Bildschirmbefehl wird in Ps nicht angezeigt?

  3. So starten Sie Linux über die Befehlszeile neu

  4. Verwenden des Befehls ripgrep (rg) unter Linux

  5. Verschieben Sie einen Ordner in Linux mit dem Befehl mv

So verwenden Sie den Echo-Befehl in Bash-Skripten unter Linux

Tutorial zur Verwendung des Timeout-Befehls unter Linux

Planen Sie Jobs in Linux mit dem Befehl 'at'

Verwenden des Watch-Befehls unter Linux

Verwenden des Linux-Dirname-Befehls in Bash-Skripten

Cut auf Linux Terminal verwenden