Skip to main content

Verwendung des Linux-Befehls "sleep" zum Anhalten eines BASH-Skripts

Linux Terminal : Ein paar Grundlagen (Deutsch | german) (April 2024)

Linux Terminal : Ein paar Grundlagen (Deutsch | german) (April 2024)
Anonim

In diesem Handbuch wird gezeigt, wie Sie mit dem Linux-Befehl sleep ein Bash-Skript anhalten.

Der Befehl sleep ist für sich genommen völlig unbrauchbar, es sei denn, Sie möchten Ihr Terminalfenster sperren. Als Teil eines Skripts kann es auf viele verschiedene Arten verwendet werden, einschließlich als Pausenfaktor, bevor Sie einen Befehl erneut ausführen.

Stellen Sie sich zum Beispiel vor, Sie hätten ein Skript, das Dateien verarbeitete, die von einem anderen Server kopiert wurden. Das Skript sollte den Kopiervorgang erst starten, wenn der Download aller Dateien abgeschlossen ist. Der Download-Vorgang wird von einem vollständig separaten Skript ausgeführt.

Das Skript zum Kopieren der Dateien kann durchaus eine Schleife enthalten, um zu testen, ob alle Dateien heruntergeladen wurden (d. H. Es weiß, dass 50 Dateien vorhanden sein müssen, und wenn 50 Dateien gefunden wurden, wird der Kopiervorgang gestartet).

Es macht keinen Sinn, das Skript ständig zu testen, da es Prozessorzeit in Anspruch nimmt. Sie können stattdessen testen, ob genügend Dateien kopiert wurden. Wenn dies nicht der Fall ist, halten Sie einige Minuten an und versuchen Sie es erneut. Der Schlafbefehl ist unter diesen Umständen perfekt.

So verwenden Sie den Sleep-Befehl

Um den Linux-Schlafbefehl zu verwenden, geben Sie Folgendes in das Terminalfenster ein:

5s schlafen

Mit dem obigen Befehl wird Ihr Terminal für 5 Sekunden angehalten, bevor Sie zur Befehlszeile zurückkehren.

Für den Befehl sleep benötigen Sie das Schlüsselwort 'sleep', gefolgt von der Nummer, die Sie anhalten möchten, und dann die Maßeinheit.

Sie können die Verzögerung in Sekunden, Minuten, Stunden oder Tagen angeben.

  • s - Sekunden
  • m - Minuten
  • h - Stunden
  • d - Tage

Wenn es darum geht, Tage darauf zu warten, dass etwas passiert, lohnt es sich möglicherweise, das Skript in regelmäßigen Abständen mit einem Cron-Job auszuführen, statt ein Skript tagelang im Hintergrund laufen zu lassen.

Die Nummer für den Sleep-Befehl muss keine ganze Zahl sein. Sie können auch Gleitkommazahlen verwenden.

Zum Beispiel ist es vollkommen in Ordnung, die folgende Syntax zu verwenden:

3,5s schlafen

Ein Beispiel für den sleep-Befehl

Das folgende Skript zeigt, wie der Befehl sleep verwendet wird, um eine terminale Countdown-Uhr zu erstellen:

#! / bin / bashx = 10während $ x -gt 0tunSchlaf 1sklarEcho "$ x Sekunden bis zum Abfeuern"x = $ (($ x - 1))erledigt

Das Skript setzt die Variable x auf 10. Die while-Schleife wird wiederholt, während der Wert von x größer als Null ist.

Der Befehl sleep hält das Skript jedes Mal um die Schleife für 1 Sekunde an.

Der Rest des Skripts löscht den Bildschirm bei jeder Wiederholung, zeigt die Meldung "x Sekunden bis zum Start" (d. H. 10) an und subtrahiert dann 1 vom Wert von x.

Ohne den Sleep-Befehl zoomt das Skript durch und die Meldungen werden zu schnell angezeigt.

Wechselt

Der Sleep-Befehl verfügt nur über einige Schalter.

Die Option --help zeigt die Hilfedatei für den Befehl sleep an. Sie können dasselbe erreichen, indem Sie den Befehl man wie folgt verwenden:

Mann schlafen

Der Befehl --version zeigt die Version des auf Ihrem System installierten Sleep-Befehls an.

Die vom Schalter --version zurückgegebenen Informationen lauten wie folgt:

  • Versionsnummer
  • Copyright-Details
  • Lizenz
  • Autoren