Sintaksa ukaza za spanje:
številka spanja [pripona]
Kot časovno vrednost lahko uporabite poljubno celo ali delno število. Pripona je za ta ukaz neobvezna. Če izpustite pripono, se časovna vrednost privzeto izračuna kot sekunde. Lahko uporabiš s, m, h in d kot priponska vrednost. Naslednji primeri kažejo uporabo ukaza za spanje z različnimi priponami.
Primer-1: ukaz za spanje brez končnice
V naslednjem skriptu je ukaz mirovanja uporabljen s številsko vrednostjo 2 samo in nobena pripona ni uporabljena. Torej, če zaženete skript, bo niz »Naloga je končana”Se bo natisnilo po čakanju 2 sekundi.
#!/ bin / bashecho "Čakanje 2 sekundi ..."
spanje 2
echo "Naloga je dokončana"
Zaženite datoteko bash z čas ukaz za prikaz treh vrst časovnih vrednosti za zagon skripta. Rezultat prikazuje čas, ki ga uporablja sistem, uporabnik in realni čas.
$ time bash sleep1.shIzhod:
Primer-2: ukaz za spanje z minutno pripono
V naslednjem skriptu 'm'se uporablja kot pripona z ukazom spanja. Tu je časovna vrednost 0.05 minut. Po čakanju 0.05 minut, “Naloga je končana”Bo natisnjeno sporočilo.
#!/ bin / bashecho "Čakanje na 0.05 minut… "
spanje 0.05m
echo "Naloga je dokončana"
Zaženite skript z čas ukaz kot prvi primer.
$ time bash sleep2.shIzhod:
Primer-3: ukaz za spanje s pripono ure
V naslednjem skriptu 'h'se uporablja kot pripona z ukazom spanja. Tu je časovna vrednost 0.003 ure. Po čakanju 0.003 ure “Naloga je končana"Je treba natisniti na zaslon, vendar zahteva večkrat v resnici kdaj 'h' končnica.
#!/ bin / bashecho "Čakanje na 0.003 ure ... "
spanje 0.003h
echo "Naloga je dokončana"
$ time bash sleep3.sh
Izhod:
Primer-4: ukaz spanja z zanko
Ukaz za spanje lahko uporabite za različne namene. V naslednjem primeru se ukaz za spanje uporablja z zanko while. Sprva vrednost spremenljivke n je nastavljena na 1 in vrednost n se poveča za 1 za 4 krat v vsakem 2 sekundni interval. Kdaj boste torej zagnali skript, se bo vsak izhod prikazal po čakanju 2 sekundi.
#!/ bin / bashn = 1
medtem ko [$ n -lt 5]
naredi
echo "Vrednost n je zdaj $ n"
spi 2 s
odmev ""
((n = $ n + 1))
Končano
Izhod:
Primer-5: ukaz za spanje v terminalu z drugimi ukazi
Recimo, da želite zagnati več ukazov in nastaviti določen časovni interval med izhodi dveh ukazov, nato pa lahko to nalogo uporabite z ukazom spanja. V tem primeru ukaz ls in pwd so z spanje ukaz. Po izvedbi ukaza, ls ukaz bo pokazal seznam imenikov trenutnega imenika in pokazal trenutno pot delovnega imenika po čakanju 2 sekundi.
$ ls && spi 2 && pwdIzhod:
Primer 6: Uporaba ukaza za spanje iz ukaznega poziva
ukaz za spanje se uporablja med dvema ukazoma odmeva v naslednjem primeru. Po izvedbi ukaza bodo prikazane tri časovne vrednosti.
$ time (echo "Start"; sleep 5; echo "End")Izhod:
Sleep ukaz je koristen ukaz, ko morate napisati bash skript z več ukazi ali opravili, izhod katerega koli ukaza lahko zahteva veliko časa, drugi ukaz pa mora počakati na dokončanje naloge prejšnjega ukaza. Na primer, želite prenesti zaporedne datoteke in naslednjega prenosa ni mogoče začeti pred dokončanjem prejšnjega prenosa. V tem primeru je bolje, da pred vsakim prenosom počakate, da počakate določen čas.