Jak používat příkaz Linux "sleep" pro pozastavení skriptů BASH

Tato příručka ukazuje, jak pomocí příkazu spánku Linux pozastavit bash skript.

Vlastní příkaz spánku je zcela bezvýznamný, pokud nechcete uzamknout okno terminálu, ale jako součást skriptu jej lze použít mnoha různými způsoby, včetně faktoru pauzy předtím, než zopakujete příkaz.

Představte si například, že máte skript, který zpracovává soubory zkopírované z jiného serveru. Skript by neměl spustit proces kopírování, dokud všechny soubory nedokončí stahování.

Proces stahování je prováděn zcela samostatným skriptem.

Skript pro kopírování souborů může obsahovat smyčku pro otestování, zda byly všechny soubory staženy (tj. Ví, že by mělo být 50 souborů a když bylo nalezeno 50 souborů, proces kopírování je spuštěn).

Neexistuje žádný důvod, aby skript neustále testoval, protože zabírá procesorový čas. Místo toho se můžete rozhodnout, zda je zkopírován dostatek souborů a zda na pár minut není pauza a zkuste to znovu. Příkaz spánku je za těchto okolností ideální.

Jak používat příkaz spánku

Chcete-li použít příkaz sleep Linux, zadejte do okna terminálu následující:

spánek 5s

Výše uvedený příkaz ukončí pauzu terminálu na 5 sekund před návratem na příkazový řádek.

Příkaz spánku vyžaduje klíčové slovo spánku, po kterém následuje číslo, které chcete pozastavit, a pak měrnou jednotku.

Můžete zadat zpoždění v sekundách, minutách, hodinách nebo dnech.

Když přijde na čekání na něco, co by se mohlo stát, mohlo by se stát, že byste chtěl uvažovat o použití cron úlohy ke spuštění skriptu v pravidelných intervalech, na rozdíl od toho, že skript běží na pozadí po celé dny.

Číslo pro příkaz spánku nemusí být celé číslo.

Můžete také použít čísla s pohyblivou čárkou.

Například je naprosto v pořádku použít následující syntaxi:

spát 3.5s

Příklad použití pro příkaz Sleep

Následující skript ukazuje, jak pomocí příkazu spánku vytvářet odpočítávací hodiny na terminálech:

#! / bin / bash

x = 10

zatímco [$ x -gt 0]

dělat

spánek 1s

Průhledná

echo "$ x vteřiny až do výbuchu"

x = $ (($ x - 1))

Hotovo

Skript nastaví proměnnou x na 10. Momentová smyčka bude i nadále opakovat, zatímco hodnota x je větší než nula.

Příkaz spánku pozastaví scénář po dobu jedné sekundy po smyčce.

Zbývající část skriptu vymaže obrazovku na každé iteraci, zobrazí zprávu "x sekundy až do okamžiku výbuchu" (tj. 10) a poté odečte hodnotu 1 od hodnoty x.

Bez příkazu spánku by se skript přiblížil a zprávy by se zobrazovaly příliš rychle.

Příkaz spánku má pouze pár přepínačů.

Přepínač --help zobrazuje soubor nápovědy příkazu spánku. Stejnou věc můžete dosáhnout pomocí příkazu man:

mužský spánek

Příkaz --version zobrazuje verzi příkazu spánku, který je nainstalován ve vašem systému.

Informace vrácené přepínačem --version jsou následující: