Kako koristiti Linux "spavanje" naredbu za pauziranje BASH skripte

Ovaj vodič pokazuje kako da koristite komandu Linux spavanja da biste pauzirali bash skriptu.

Sama komanda, komanda spavanja je potpuno beskorisna, osim ako ne želite zaključati prozor terminala, ali kao deo skripte može se koristiti na mnogo različitih načina, uključujući faktor pauze pre ponovnog pokretanja naredbe.

Na primjer, zamislite da ste imali skriptu koja je obrađivala datoteke kopirane sa drugog servera. Skripta ne bi trebalo da započne proces kopiranja dok sve datoteke ne završe sa preuzimanjem.

Proces prenosa vrši se potpuno odvojenom skriptom.

Skripta za kopiranje fajlova može sadržati petlju da bi se testiralo da li su sve datoteke preuzete (tj. Zna da bi trebalo da bude 50 datoteka i kada se pronađe 50 datoteka, pokrenut je proces kopiranja).

Nema smisla da se skripta kontinuirano testira kako uzima procesorsko vreme. Umesto toga, možete odabrati da testirate da li je dovoljno kopiranih fajlova i ako ne postoje pauze nekoliko minuta, a zatim pokušajte ponovo. Komanda spavanja je savršena u ovim okolnostima.

Kako koristiti komandu za spavanje

Da biste koristili komandu Linux sleep, u prozor terminala unesite sledeće:

spava 5s

Gornja komanda će učiniti pauzu terminala 5 sekundi pre nego što vas vrati u komandnu liniju.

Komanda za spavanje zahteva spavanje ključnih reči i broj koji želite da zaustavite pa zatim jedinicu mjere.

Možete odrediti kašnjenje u sekundama, minutima, satima ili danima.

Kada su u pitanju dani čekanja da se nešto dogodi, možda bi bilo vredno razmisliti o korištenju cron-a za pokretanje skripta u redovnim intervalima, nasuprot tome što će se skripti pokrenuti u pozadini za više dana.

Broj komande za spavanje ne mora biti ceo broj.

Takođe možete koristiti brojeve sa plutajućim tačkama.

Na primjer, sasvim je u redu koristiti sljedeću sintaksu:

spavanje 3.5s

Primer koristi za komandu za spavanje

Sledeća skripta pokazuje kako da koristite komandu spavanja da biste napravili sat odbrojavanja zasnovan na terminalu:

#! / bin / bash

x = 10

dok je [$ x -gt 0]

da

spavati 1s

jasno

echo "$ x sekundi dok ne eksplodira"

x = $ (($ x - 1))

završeno

Skripta postavlja promenljivu x na 10. Tok petlje će nastaviti da se ponavlja dok je vrednost x veća od nule.

Komanda spavanja pauzira scenarij za 1 sekundu svaki put oko petlje.

Ostatak scenarija briše ekran svake iteracije, prikazuje poruku "x sekundi do eksplozije" (tj. 10), a zatim oduzima 1 od vrijednosti x.

Bez komande za spavanje, skripta bi zumirala i poruke će se prenijeti prebrzo.

Komanda spavanja ima samo nekoliko prekidača.

--help prekidač pokazuje datoteku pomoći za komandu spavanja. Istu stvar možete postići upotrebom naredbe čoveka na sledeći način:

čovek spava

Komanda --version prikazuje verziju komande spavanja koja je instalirana na vašem sistemu.

Informacije koje je vratio --version switch je sledeće: