Kako uporabiti ukaz za spanje Linuxa za zaustavitev skripta BASH
Kaj vedeti
- Uporabi spati ukaz plus čas; s=sekundah, m=minut, h=ure, oz d=dnevi (npr. spi 5s zaustavi skript za 5 sekund).
- Uporaba človek spi za več.
V tem članku je razloženo, kako uporabiti ukaz za spanje Linuxa za zaustavitev a bash skript, med drugim. Sam po sebi ukaz za spanje ni zelo uporaben. Vendar pa se lahko kot del skripta uporablja na več načinov. Z njim lahko na primer začasno ustavite skript, preden znova poskusite ukaz, ki ni uspel prvič.

Primer uporabe ukaza za spanje
Predstavljajte si, da imate skript, ki obdeluje datoteke, ki so bile prenesene z drugega strežnika. Skript ne sme začeti postopka kopiranja, dokler se vse datoteke ne naložijo. Postopek prenosa izvede ločen skript, ki se izvaja pred vašim.
Skript, ki kopira datoteke, lahko vsebuje zanko za preverjanje, ali so bile vse datoteke prenesene (to naredi tako, da preveri, ali je bilo najdenih 50 datotek, preden začne postopek kopiranja).
Nenehno preizkušanje skripta nima smisla, saj to uporablja procesorski čas. Namesto tega lahko med posameznimi preskusi za nekaj minut začasno ustavite, preden poskusite znova. Ukaz spanja je v takih okoliščinah popoln.
Kako uporabljati ukaz za spanje
Če želite uporabiti ukaz za spanje Linuxa, v terminalsko okno vnesite naslednje:
spi 5s
Zgornji ukaz ustavi terminal za 5 sekund, preden se vrne v ukazno vrstico.
Ukaz spanja zahteva ključno besedo spati, ki mu sledi številka, ki jo želite ustaviti, in merska enota.
Določite lahko zamudo v sekundah, minutah, urah ali dnevih.
- s: sekunde
- m: Minute
- h: Ure
- d: Dnevi
Ko gre za večdnevno začasno ustavitev skripta, uporabite opravilo cron za zagon skripta v rednih intervalih, v nasprotju s tem, da bi se skript več dni izvajal v ozadju.
Opravilo cron je ukaz ali skript Linuxa, ki ga lahko načrtujete za zagon ob določenem času ali dnevu. Te so uporabne za ponavljanje nalog v daljšem časovnem obdobju.
Ni nujno, da je številka za interval ukaza spanja celo število. Uporabite lahko tudi števila s plavajočo vejico.

Na primer, naslednja sintaksa vključuje delček sekunde:
spanje 3,5s
Primer uporabe ukaza za spanje
Naslednji skript prikazuje, kako uporabiti ukaz spanja za izdelavo ure odštevanja na terminalu:
#!/bin/bash
x=10
medtem ko [ $x -gt 0 ]
narediti
spi 1s
jasno
echo "$x sekund do izbruha"
x=$(( $x - 1))
Končano
Takole deluje ta skript:
- Skript nastavi spremenljivko x na 10.
- Zanka while se še naprej ponavlja, medtem ko je vrednost x večja od nič.
- Ukaz za spanje začasno ustavi skript za 1 sekundo vsakič v zanki.
- Preostali del skripta počisti zaslon vsako ponovitev, prikaže sporočilo "x sekund do izklopa" in od vrednosti x odšteje 1.

Brez ukaza za spanje bi se skript povečal in sporočila bi se prikazala prehitro.
Kako uporabljati ukazna stikala za spanje
Ukaz za spanje ima le nekaj stikal.
The --pomoč stikalo prikaže datoteko pomoči za ukaz spanja. Enako lahko dosežete z uporabo ukaza man, kot sledi:
človek spi.
The --različica stikalo prikazuje različico ukaza za spanje, ki je nameščen v sistemu.
Informacije, ki jih vrne stikalo --version, so naslednje:
- Številka različice
- Podrobnosti o avtorskih pravicah
- Licenca
- Avtorji
Začasno ustavite ukaze terminala s stanjem spanja
Druga dobra uporaba ukaza spanja je zaustavitev ukazov, ki jih vnesete v terminalsko okno.
Če želite, lahko vnesete dva ukaza zapored in počakate, da se prvi konča, preden vnesete drugega.
Vendar je hitrejši pristop, če dva ukaza vnesete v eno vrstico z ukazom za spanje med vsakim ukazom:
$ cd /mydirectory/ && spanje 3 && ls.
Kako deluje ta ukaz:
- The cd /moj imenik/ ukaz spremeni imenik.
- The spanje 3 ukaz čaka tri sekunde, da se ukaz cd zaključi.
- The ls ukaz izvede in prikaže vsebino imenika.
Za preprost primer, kot je ta, ukaz spanja prihrani le malo časa. Če pa imate dolg seznam ukazov, možnost vnosa ukazov v eni vrstici prihrani čas.