GNU/Linux >> Znalost Linux >  >> Linux

Použití Linux Sleep Command ve skriptech Bash

Příkaz spánku Linuxu je jedním z nejjednodušších příkazů. Jak už z názvu tušíte, jeho jedinou funkcí je spát. Jinými slovy, zavádí zpoždění po určitou dobu.

Pokud tedy použijete příkaz sleep s x a další příkaz lze spustit až po x sekundách.

Příkaz Sleep má jednoduchou syntaxi:

sleep Number[Suffix]

Zde by přípona mohla být:

  • s sekund. Toto je výchozí.
  • m minut.
  • h po dobu hodin.
  • d po dobu dnů.

Podívejme se na několik příkladů příkazu sleep.

Příklady příkazu Bash sleep

Ačkoli jej můžete použít přímo v shellu, příkaz sleep se běžně používá k zavedení zpoždění při provádění bash skriptu. Ukážu použití příkazu sleep prostřednictvím ukázkových bash skriptů.

Příkaz Spánek bez přípony počítá v sekundách

Předpokládejme, že chcete pozastavit bash skript na 5 sekund, můžete použít režim spánku takto:

sleep 5

V ukázkovém bash skriptu by to mohlo vypadat takto:

!/bin/bash
echo "Sleeping for 5 seconds…"
sleep 5
echo "Completed"

Pokud jej spustíte s příkazem time, uvidíte, že bash skript skutečně běžel (o něco málo) déle než 5 sekund.

time ./sleep.sh 
Sleeping for 5 seconds…
Completed

real    0m5.008s
user    0m0.000s
sys    0m0.007s

Příkaz spánku s příponou minuty, hodiny nebo dne

Dobu spánku v minutách můžete zadat následujícím způsobem:

sleep 1m

Tím se skript/shell na jednu minutu pozastaví. Pokud chcete skript zpozdit o hodiny, můžete to udělat pomocí možnosti h:

sleep 2h

I když chcete bash skript na několik dní pozastavit, můžete to udělat pomocí přípony d:

sleep 5d

To by mohlo pomoci, pokud chcete běžet každý druhý den nebo den v týdnu.

Příkaz spánku s kombinací sekund, minuty, hodiny a dne

Nejste povinni používat vždy pouze jednu příponu. Můžete použít více než jednu příponu a délka spánku je součtem všech přípon.

Pokud například použijete následující příkaz:

sleep 1h 10m 5s

Díky tomu bude skript čekat 1 hodinu, 10 minut a 5 sekund. Všimněte si, že přípona s je zde stále volitelná.

Bonusový tip:Spěte méně než sekundu

Možná jste si všimli, že nejmenší časovou jednotkou v příkazu spánku je sekunda. Ale co když váš bash skript na milisekundy usne?

Dobrá věc je, že můžete použít plovoucí desetinnou čárku s příkazem sleep.

Pokud tedy chcete zavést pauzu 5 milisekund, použijte ji takto:

sleep 0.005

Můžete také použít desetinné čárky s jinými příponami.

sleep 1.5h 7.5m

Zavede zpoždění o 1 hodinu, 37 minut a 30 sekund.

Doufám, že jste při čtení těchto příkladů příkazu spánku nespali 😉

Pokud vás zajímá skriptování shellu, možná byste si rádi přečetli také o porovnávání řetězců v bash. Máte-li dotazy nebo návrhy, neváhejte se zeptat.


Linux
  1. Jak vymazat historii Bash na Linuxu

  2. Příkaz spánku pomocí příkazu obrazovky se v Ps nezobrazuje?

  3. Jak restartovat Linux pomocí příkazového řádku

  1. Použití Bash pro automatizaci

  2. Použití příkazu Linux Basename ve skriptech Bash

  3. Použití příkazu ripgrep (rg) v Linuxu

  1. Pomocí příkazu Linux zdarma

  2. Příklady použití příkazu dmsetup v Linuxu

  3. Přesuňte složku v Linuxu pomocí příkazu mv