Der sleep-Befehl ist in den meisten Linux-Distributionen standardmäßig verfügbar und ermöglicht es dem Benutzer, eine bestimmte Zeit zu warten, bevor der nächste Befehl ausgeführt wird. Es handelt sich um einen Befehl, der in der Shell verwendet wird, um eine Verzögerung oder Pause in der Ausführung von Skripten, Shell-Befehlen oder Prozessen zu erzeugen.

    Syntax

    sleep [Optionen] Zeit

    Die Zeit kann entweder als Ganzzahl oder als Bruchzahl angegeben werden. Es können auch verschiedene Einheiten wie Sekunden, Minuten oder Stunden verwendet werden, um die Wartezeit anzugeben.

    Einige Beispiele für häufig verwendete Optionen sind:

    • -s oder --seconds: Diese Option ermöglicht es Ihnen, die Wartezeit in Sekunden anzugeben. Zum Beispiel:
    • -m oder --minutes: Mit dieser Option können Sie die Wartezeit in Minuten angeben. Beispiel:
    • -h oder --hours: Diese Option ermöglicht es Ihnen, die Wartezeit in Stunden anzugeben. Beispiel:
    • -V oder --version: Mit dieser Option können Sie die Version des sleep-Befehls anzeigen lassen. Beispiel:

    Beispiele

    Verzögerung zwischen Befehlen

    echo "1"
    sleep 3
    echo "2"

    Hier werden zwei Befehle nacheinander ausgeführt, jedoch mit einer Pause von 3 Sekunden dazwischen.

    Skriptverzögerung

    #!/bin/bash
    while true
    do
        echo "Aktion ausführen"
        sleep 10
    done

    Das Skript startet eine Endlosschleife mit dem Befehl while true. Innerhalb der Schleife wird die Aktion, in diesem Fall das Ausgeben der Textzeile „Aktion ausführen“, ausgeführt. Nachdem die Aktion ausgeführt wurde, wird der sleep-Befehl verwendet, um eine Pause von 10 Sekunden einzulegen, bevor die Schleife erneut durchlaufen wird. Dadurch wird eine kontinuierliche Ausführung der Aktion mit einer 10-Sekunden-Verzögerung zwischen den Ausführungen erreicht.

    Countdown-Timer

    #!/bin/bash
    for ((i=5; i>=1; i--))
    do
        echo "$i..."
        sleep 1
    done
    echo "Zeit abgelaufen!"

    Das Skript verwendet eine for-Schleife, die von 5 bis 1 herunterzählt. Innerhalb der Schleife wird die verbleibende Zeit mit dem Befehl echo ausgegeben. Anschließend wird der sleep-Befehl verwendet, um eine Pause von 1 Sekunde einzulegen, bevor die Schleife zur nächsten Iteration geht. Dadurch entsteht der Eindruck eines Countdowns, bei dem jede Sekunde die verbleibende Zeit angezeigt wird. Nachdem der Countdown abgelaufen ist, wird die Nachricht Zeit abgelaufen! angezeigt.

    Links