Příkaz spánku systému Linux přidá zpoždění/pauzu na určitou dobu. Podle mužského spánku tento příkaz,
- Napsali Jim Meyering a Paul Eggert.
- Součást GNU Coreutils.
- Licence GPLv3+:GNU GPL verze 3
- svobodný software, můžete jej měnit a redistribuovat. NEEXISTUJE ŽÁDNÁ ZÁRUKA
Syntaxe
sleep NUMBER[smhd] sleep OPTION
Možnosti
Každý argument je číslo, za kterým následuje volitelná jednotka.
Jednotky jsou:-
- s – sekund
- m – minuty
- h – hodiny
- d – dny
Poznámka:Výchozí jednotkou jsou sekundy.
–help – zobrazí tuto nápovědu a ukončí
–version – vypíše informace o verzi a skončí
Návratový stav nula znamená úspěch a nenulová hodnota znamená selhání.
Popis
spánek se pozastaví na dobu zadanou v argumentu. Stačí otevřít terminál a zadat níže uvedený příkaz.
~$ sleep 5
Po dobu 5 sekund můžete vidět spánek terminálu a poté reagovat. Argument NUMBER pro tento příkaz je povinný, zatímco jednotky [smhd] jsou nepovinné. Výchozí hodnota je sekund (s).
$ sleep sleep: missing operand Try 'sleep --help' for more information.
Historické implementace spánku vyžadovaly, aby číslo bylo celé číslo a přijímaly pouze jeden argument bez přípony. GNU však přijímá libovolná čísla s pohyblivou řádovou čárkou.
$ sleep 5.5
Spánek je vestavěný v shellu a také jako externí příkaz v některých distribucích Linuxu. Použijte typ -a příkaz pro kontrolu.
type -a sleep sleep is /bin/sleep
Je součástí základních nástrojů, takže k zobrazení dalších informací použijte níže.
info coreutils 'sleep invocation'
Jak používat příkaz sleep ve skriptu shellu?
Skript shellu je posloupnost interních a/nebo externích unixových příkazů. Ty se provádějí postupně jeden po druhém. Pokud chcete provádění pozastavit nebo přidat zpoždění, můžete to použít níže.
Zvažte níže spánkový skript bash. Tento skript,
- Vytisknout zprávu
- Počkejte 5 sekund
- Vytisknout zprávu
$ cat sleep_demo.sh #!/bin/sh echo "Time before - " date sleep 5 date echo "Time after - "
Spusťte tento unixový skript pomocí sh sleep_demo.sh příkaz.
$ sh sleep_demo.sh Time before - Sat Dec 15 12:28:06 IST 2018 Sat Dec 15 12:28:11 IST 2018 Time after -
Druhou zprávu můžete jasně vidět vytištěnou po 5 sekundách.
Tento příkaz je užitečný, když jsou spuštěny dva programy a chcete, aby jeden nějakou dobu čekal na druhý.
Uvažujme o jednoduchém rozhraní, kde systém Ftpeing souboru do jiného systému. V jiném systému je naplánovaná úloha cron, která přečte a zkopíruje tento soubor do jiného umístění.
Někdy může vytvoření souboru chvíli trvat, v takovém případě můžete na nějakou dobu přidat režim spánku a vytvořit další skript, dokud se soubor nevytvoří.
Příklady
Níže jsou uvedeny příklady příkazu Unix sleep s různými možnostmi.
Příklad 1 – spánek na 1 sekundu
sleep 1
nebo
sleep 1s
Příklad 2 – 1 minutu spánku
sleep 1m
Příklad 3 – spát 1 hodinu
sleep 1h
Příklad 4 – spát celý den
sleep 1d
Příklad 5 – tisk nápovědy
$ 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'
Příklad 6 – informace o verzi pro tisk
~$ 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.
Reference a další čtení
- http://www.gnu.org/software/coreutils/manual/coreutils.html#sleep-invocation
- http://www.gnu.org/software/coreutils/