sleep je nástroj příkazového řádku, který vám umožňuje pozastavit proces volání na určenou dobu. Jinými slovy, sleep příkaz pozastaví provádění dalšího příkazu na daný počet sekund.
sleep příkaz je užitečný při použití v bash shell skriptu, například při opakování neúspěšné operace nebo uvnitř smyčky.
V tomto tutoriálu vám ukážeme, jak používat Linux sleep příkaz.
Jak používat sleep Příkaz #
Syntaxe pro sleep příkaz je následující:
sleep NUMBER[SUFFIX]...
NUMBER může být kladné celé číslo nebo číslo s plovoucí desetinnou čárkou.
SUFFIX může být jedna z následujících:
s- sekund (výchozí)m- minutyh- hodind- dny
Pokud není zadána žádná přípona, výchozí hodnota je sekund.
Když jsou zadány dva nebo více argumentů, celková doba se rovná součtu jejich hodnot.
Zde je několik jednoduchých příkladů demonstrujících, jak používat sleep příkaz:
-
Spánek na 5 sekund:
sleep 5 -
Spánek na 0,5 sekundy:
sleep 0.5 -
Spánek na 2 minuty a 30 sekund:
sleep 2m 30s
Příklady skriptů Bash #
V této části si projdeme několik základních skriptů shellu, abychom viděli, jak sleep je použit příkaz.
#!/bin/bash
# start time
date +"%H:%M:%S"
# sleep for 5 seconds
sleep 5
# end time
date +"%H:%M:%S"
Když skript spustíte, vytiskne aktuální čas v HH:MM:SS formát. Poté sleep příkaz pozastaví skript na 5 sekund. Jakmile uplyne zadané časové období, poslední řádek skriptu vypíše aktuální čas.
Výstup bude vypadat nějak takto:
13:34:40
13:34:45
Podívejme se na pokročilejší příklad:
#!/bin/bash
while :
do
if ping -c 1 ip_address &> /dev/null
then
echo "Host is online"
break
fi
sleep 5
done
Skript každých 5 sekund kontroluje, zda je hostitel online nebo ne. Když hostitel přejde online, skript vás upozorní a zastaví se.
Jak skript funguje:
- V prvním řádku vytváříme nekonečný
whilesmyčka. - Potom používáme
pingpříkaz pro určení, zda hostitel s IP adresouip_addressje dosažitelný nebo ne. - Pokud je hostitel dosažitelný, skript ozve „Hostitel je online“ a smyčku ukončí.
- Pokud hostitel není dosažitelný,
sleeppříkaz pozastaví skript na 5 sekund a poté začne smyčka od začátku.
Závěr č.
sleep command je jedním z nejjednodušších příkazů Linuxu. Používá se k pozastavení provádění dalšího příkazu na danou dobu.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.