Linux-Sleep-Befehl fügt Verzögerung/Pause für eine bestimmte Zeitdauer hinzu. Gemäß Mannschlaf diesen Befehl,
- Geschrieben von Jim Meyering und Paul Eggert.
- Teil von GNU Coreutils.
- Lizenz GPLv3+:GNU GPL Version 3
- freie Software, Sie können sie frei ändern und weitergeben. Es gibt KEINE GEWÄHRLEISTUNG
Syntax
sleep NUMBER[smhd] sleep OPTION
Optionen
Jedes Argument ist eine Zahl gefolgt von einer optionalen Einheit.
Die Einheiten sind:-
- s – Sekunden
- m – Minuten
- h – Stunden
- d – Tage
Hinweis:Die Standardeinheit ist Sekunden.
–help – diese Hilfe anzeigen und beenden
–version – Versionsinformationen ausgeben und beenden
Ein Exit-Status von Null zeigt einen Erfolg an, und ein Wert ungleich Null zeigt einen Fehler an.
Beschreibung
sleep pausiert für eine im Argument angegebene Zeitspanne. Öffnen Sie einfach das Terminal und geben Sie den folgenden Befehl ein.
~$ sleep 5
Sie können den Terminalschlaf für 5 Sekunden sehen und dann antworten. Das NUMBER-Argument für diesen Befehl ist obligatorisch, während [smhd]-Einheiten optional sind. Der Standardwert ist Sekunden (s).
$ sleep sleep: missing operand Try 'sleep --help' for more information.
Historische Implementierungen von sleep haben verlangt, dass die Zahl eine ganze Zahl ist, und haben nur ein einziges Argument ohne Suffix akzeptiert. GNU akzeptiert jedoch beliebige Fließkommazahlen.
$ sleep 5.5
Sleep ist in die Shell integriert und in einigen Linux-Distributionen ein externer Befehl. Verwenden Sie Typ -a Befehl, um dies zu überprüfen.
type -a sleep sleep is /bin/sleep
Es ist Teil der Kerndienstprogramme, verwenden Sie also unten, um zusätzliche Informationen anzuzeigen.
info coreutils 'sleep invocation'
Wie verwende ich den Sleep-Befehl in einem Shell-Skript?
Ein Shell-Skript ist eine Folge interner und/oder externer Unix-Befehle. Diese werden nacheinander nacheinander ausgeführt. Wenn Sie die Ausführung anhalten oder verzögern möchten, können Sie dies wie unten verwenden.
Betrachten Sie das folgende Bash-Sleep-Skript. Dieses Skript,
- Nachricht drucken
- Warten Sie 5 Sekunden
- Nachricht drucken
$ cat sleep_demo.sh #!/bin/sh echo "Time before - " date sleep 5 date echo "Time after - "
Lassen Sie uns dieses Unix-Skript mit sh sleep_demo.sh ausführen Befehl.
$ sh sleep_demo.sh Time before - Sat Dec 15 12:28:06 IST 2018 Sat Dec 15 12:28:11 IST 2018 Time after -
Sie können die zweite Nachricht, die nach 5 Sekunden gedruckt wird, deutlich sehen.
Dieser Befehl ist hilfreich, wenn zwei Programme laufen und Sie möchten, dass eines einige Zeit auf das andere wartet.
Betrachten wir eine einfache Schnittstelle, bei der ein System eine Datei per FTP an ein anderes System sendet. In einem anderen System gibt es einen geplanten Cron-Job, der diese Datei liest und an einen anderen Ort kopiert.
Manchmal kann die Dateierstellung einige Zeit in Anspruch nehmen. In diesem Fall können Sie einen Ruhezustand hinzufügen und ein weiteres Skript erstellen, bis die Datei erstellt ist.
Beispiele
Nachfolgend finden Sie Beispiele für den Unix-Schlafbefehl mit verschiedenen Optionen.
Beispiel 1 – Schlaf für 1 Sekunde
sleep 1
oder
sleep 1s
Beispiel 2 – 1 Minute schlafen
sleep 1m
Beispiel 3 – 1 Stunde schlafen
sleep 1h
Beispiel 4 – Einen Tag schlafen
sleep 1d
Beispiel 5 – Hilfe drucken
$ sleep --help Usage: sleep NUMBER[SUFFIX]... or: sleep OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. --help display this help and exit --version output version information and exit GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Full documentation at: <http://www.gnu.org/software/coreutils/sleep> or available locally via: info '(coreutils) sleep invocation'
Beispiel 6 – Informationen zur Druckversion
~$ sleep --version sleep (GNU coreutils) 8.28 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Jim Meyering and Paul Eggert.
Nachschlagewerk und weiterführende Literatur
- http://www.gnu.org/software/coreutils/manual/coreutils.html#sleep-invocation
- http://www.gnu.org/software/coreutils/