1. Startseite
  2. Bash Skript
  3. Bash-Skript anhalten mit Befehl sleep

Bash-Skript anhalten mit Befehl sleep

Das Kommandozeilen-Tool sleep ermöglicht dir, den laufenden Prozess für eine festgelegte Zeitdauer zu pausieren. Einfach gesagt, unterbricht sleep die Ausführung des folgenden Befehls für eine angegebene Anzahl von Sekunden.

Der Einsatz von sleep innerhalb eines Bash-Skripts ist besonders nützlich, beispielsweise wenn eine fehlgeschlagene Aktion erneut ausgeführt werden muss oder in einer Schleife.

In diesem Leitfaden erfährst du, wie du den Linux-Befehl sleep anwendest.

Anwendung des sleep-Befehls

Die Syntax für den sleep-Befehl ist wie folgt:

sleep NUMBER[SUFFIX]...

Die NUMMER kann entweder eine positive ganze Zahl oder eine Fließkommazahl sein.

Der SUFFIX kann einer der folgenden Werte annehmen:

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

Wird kein Suffix angegeben, werden standardmäßig Sekunden verwendet.

Bei Angabe von zwei oder mehr Argumenten entspricht die Gesamtdauer der Summe der angegebenen Werte.

Hier sind einige einfache Beispiele zur Verwendung des sleep-Befehls:

  • Ruhe für 5 Sekunden:
    sleep 5
  • Ruhe für 0,5 Sekunden:
    sleep 0.5
  • Ruhe für 2 Minuten und 30 Sekunden:
    sleep 2m 30s

Beispiele für Bash-Skripte

In diesem Abschnitt werfen wir einen Blick auf einige grundlegende Shell-Skripte, um zu demonstrieren, wie der sleep-Befehl eingesetzt wird.

#!/bin/bash

# Startzeit
date +"%H:%M:%S"

# Ruhe für 5 Sekunden
sleep 5

# Endzeit
date +"%H:%M:%S"

Wenn du das Skript ausführst, wird die aktuelle Uhrzeit im Format HH:MM:SS angezeigt. Anschließend pausiert der Befehl sleep das Skript für 5 Sekunden. Nach Ablauf der angegebenen Zeitdauer wird in der letzten Zeile des Skripts erneut die aktuelle Uhrzeit angezeigt.

Die Ausgabe könnte etwa so aussehen:

13:34:40
13:34:45

Lass uns ein weiteres, etwas fortgeschritteneres Beispiel betrachten:

#!/bin/bash

while :
do
  if ping -c 1 ip_address >/dev/null
  then
	echo "Host ist online"
	break
  fi
  sleep 5
done

Das Skript überprüft alle 5 Sekunden, ob ein Host online ist oder nicht. Wenn der Host online geht, informiert dich das Skript und stoppt.

So funktioniert das Skript:

  • In der ersten Zeile erstellen wir eine unendliche while-Schleife.
  • Anschließend nutzen wir den Befehl ping, um zu prüfen, ob der Host mit der IP-Adresse ip_address erreichbar ist oder nicht.
  • Wenn der Host erreichbar ist, gibt das Skript „Host ist online“ aus und beendet die Schleife.
  • Wenn der Host nicht erreichbar ist, pausiert der sleep-Befehl das Skript für 5 Sekunden, und die Schleife startet erneut.

Fazit

Der sleep-Befehl gehört zu den einfachsten Linux-Befehlen und dient dazu, die Ausführung des nachfolgenden Befehls für eine bestimmte Zeitdauer zu unterbrechen.

Wenn du Fragen oder Anregungen hast, zögere nicht, einen Kommentar zu hinterlassen.

War dieser Beitrag hilfreich?

Verwandte Beiträge