Bash: Ein Skript kurz pausieren mit sleep

So pausierst du ein Shell-Skript für eine Sekunde oder länger: sleep Basics, Bruchteile von Sekunden, Timer in Loops und wann eine Pause überhaupt sinnvoll ist

Dieser Artikel hat eine Lesedauer von 1 minute Minuten.

Bash: Ein Skript kurz pausieren mit sleep

Wenn du ein Shell-Skript kurz anhalten willst, ist sleep der Standard. Es wirkt simpel, ist aber in der Praxis oft Teil eines Polling- oder Retry-Musters, bei dem du Last und Wartezeit bewusst steuern solltest.

Die einfachste Lösung: eine Sekunde warten

sleep 1

Das pausiert das Skript für eine Sekunde und führt danach mit der nächsten Zeile weiter.

Mehrere Sekunden, Minuten oder Stunden

sleep versteht auch Suffixe. Das macht Skripte lesbarer als nackte Zahlen.

sleep 5      # 5 Sekunden
sleep 2m     # 2 Minuten
sleep 1h     # 1 Stunde

In vielen Umgebungen funktioniert das zuverlässig. Wenn du maximale Portabilität willst, bleib bei Sekunden ohne Suffix.

Bruchteile von Sekunden

Für kurze Pausen, etwa beim Polling, willst du manchmal weniger als eine Sekunde:

sleep 0.2

Das funktioniert auf den meisten modernen Systemen. In sehr alten oder minimalistischen Umgebungen kann das anders sein, im Alltag ist es aber gängig.

Typisches Muster: Schleife mit Pause

Häufig wird sleep in einer Schleife genutzt, um auf einen Zustand zu warten, ohne CPU zu verbrennen.

for i in {1..10}; do
  if [[ -f /tmp/ready.flag ]]; then
    echo "bereit"
    break
  fi
  sleep 1
done

Das ist der Kern vieler “warte bis X verfügbar ist” Skripte.

Retry mit Backoff

Wenn du externe Systeme abfragst, ist ein fixer 1-Sekunden-Takt oft unnötig aggressiv. Ein einfacher Backoff ist meist freundlicher.

attempt=1
max=5

while (( attempt <= max )); do
  if curl -fsS https://example.com/health >/dev/null 2>&1; then
    echo "OK"
    exit 0
  fi

  sleep_seconds=$(( attempt * 2 ))
  echo "Noch nicht verfügbar, warte ${sleep_seconds}s (attempt $attempt/$max)"
  sleep "$sleep_seconds"
  attempt=$(( attempt + 1 ))
done

echo "Timeout"
exit 1

Das bleibt lesbar und vermeidet unnötige Last.

Eine Idee im Kopf?


Dann kontaktier mich doch


Wenn du Social-Media-Unterstützung brauchst oder ein Thema journalistisch sauber aufbereiten willst, melde dich.