Skip to main content

Kako uporabljati ukaz "spanje" v Linuxu za prekinitev BASH skripte

Anonim

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

Sam samodejni ukaz za spanje je popolnoma neuporaben, če ne želite zakleniti okna terminalov, 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, s katero preveri, 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 se scenarij stalno testira, saj traja čas procesorja. Namesto tega se lahko odločite za preskus, ali je kopiranih dovolj datotek, in če jih ni, za nekaj minut ustavite 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 ključno besedo "spanje", ki ji sledi številka, ki jo želite zaustaviti in nato mersko enoto.

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

  • s - sekunde
  • m - minut
  • h - ure
  • d - dni

Ko gre za čakalne dni za nekaj, kar se lahko zgodi, bi bilo morda vredno razmisliti o uporabi cronovega dela za redno vodenje scenarija, v nasprotju s tem, da se skripti izvajajo v ozadju 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

Primer Uporabi za ukaz za spanje

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

#! / bin / bashx = 10medtem ko $ x-gt 0storitispanje 1sjasnoecho "$ 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 skripta črta vsak ponovitev zaslona, ​​prikaže sporočilo »x sekunde do blast off« (to je 10) in nato odšteje 1 od vrednosti x.

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

Stikala

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:

  • Številka različice
  • Podrobnosti o avtorskih pravicah
  • Licenca
  • Avtorji