Kako uporabljati ukaz "spanje" Linux, da zaustavite BASH skript

V tem priročniku je prikazano, kako uporabiti ukaz za spanje Linux, da zaustavi skript bash.

Sam samodejni ukaz za spanje je popolnoma neuporaben, razen če želite zakleniti okno terminalskega okna, ampak kot del skripte ga lahko uporabite na več različnih načinov, vključno s faktorjem za premor pred ponovnim ukazom.

Predstavljajte si, na primer, da ste imeli skript, ki je obdelal datoteke, kopirane iz drugega strežnika. Skript ne sme začeti postopka kopiranja, dokler se vse datoteke ne konča s prenosom.

Postopek prenosa izvede popolnoma ločen skript.

Skript za kopiranje datotek lahko vsebuje zanko, da preizkusi, ali so bile prenesene vse datoteke (to pomeni, da mora biti 50 datotek in ko je bilo najdenih 50 datotek, se začne postopek kopiranja).

Ni smisla, da skript neprestano preizkuša, saj traja čas procesorja. Namesto tega se lahko odločite za preskus, ali je kopiranih dovolj datotek in če nekaj minut ne bo začasno zaustavljen in poskusite znova. Urejanje spanja je v teh okoliščinah popolno.

Kako uporabljati ukaz za spanje

Če želite uporabiti ukaz Linux sleep, v okno terminala vnesite naslednje:

spanje 5s

Zgornji ukaz bo vašo terminalsko zaustavitev 5 sekund, preden vas vrne v ukazno vrstico.

Ukaz za spanje zahteva spanje ključnih besed, čemur sledi številka, ki jo želite zaustaviti in nato mersko enoto.

Določite lahko zakasnitev v sekundah, minutah, urah ali dnevih.

Ko gre za čakalne dneve, da bi se kaj zgodilo, bi bilo morda vredno razmisliti o uporabi cronovega dela za redno izvajanje scenarija, v nasprotju s tem, da skripti delujejo v ozadju za več dni.

Številka za ukaz za spanje ni nujno, da je celo število.

Uporabite lahko tudi številke s plavajočo vejico.

Na primer, popolnoma je mogoče uporabiti naslednjo sintakso:

spanec 3,5s

Uporabite primer za ukaz za spanje

Naslednji skript kaže, kako uporabiti ukaz za spanje, da naredite odštevalno uro, ki temelji na terminalu:

#! / bin / bash

x = 10

medtem ko [$ x-gt 0]

storiti

spanje 1s

jasno

echo "$ x sekund, dokler ne izklopi"

x = $ (($ x - 1))

Končano

Skript nastavi spremenljivko x na 10. Prekinitev časa bo še naprej ponovila, medtem ko je vrednost x večja od nič.

Ukaz za spanje začasno zaustavi scenarij za 1 sekundo vsakič okoli zanke.

Preostali del skripte črta vsak ponovitev zaslona, ​​prikaže sporočilo »x sekunde do blast off« (tj. 10) in nato odšteje 1 od vrednosti x.

Brez ukaza spanja se skripta približuje in sporočila bodo prikazana prehitro.

Ukaz za spanje ima samo nekaj stikal.

Stikalo --help prikazuje datoteko pomoči za ukaz za spanje. Enako lahko dosežete tako, da uporabite ukaz man:

človek spi

Ukaz --version prikazuje različico ukaza za spanje, ki je nameščen v vašem sistemu.

Informacije, ki jih vrne stikalo --version, so naslednje: