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ý
while
smyčka. - Potom používáme
ping
příkaz pro určení, zda hostitel s IP adresouip_address
je dosažitelný nebo ne. - Pokud je hostitel dosažitelný, skript ozve „Hostitel je online“ a smyčku ukončí.
- Pokud hostitel není dosažitelný,
sleep
pří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ář.