Søvnkommandosyntaks:
sove nummer [suffiks]
Du kan bruke hvilket som helst heltall eller brøknummer som tidsverdi. Suffiks-delen er valgfri for denne kommandoen. Hvis du utelater suffikset, beregnes tidsverdien som sekunder som standard. Du kan bruke s, m, h og d som suffiksverdi. Følgende eksempler viser bruken av søvnkommando med forskjellige suffikser.
Eksempel 1: søvnkommando uten noe suffiks
I det følgende skriptet brukes sovekommando med numerisk verdi 2 bare og ingen suffiks brukes. Så hvis du kjører skriptet, så strengen “Oppgaven er fullført”Skrives ut etter å ha ventet i 2 sekunder.
#!/ bin / bashekko "Venter i 2 sekunder ..."
sove 2
ekko "Oppgave fullført"
Kjør bash-filen med tid kommando for å vise de tre typene tidsverdier for å kjøre skriptet. Utgangen viser tiden som brukes av et system, bruker og sanntid.
$ time bash sleep1.shProduksjon:
Eksempel 2: søvnkommando med et minuttsuffiks
I følgende skript, 'm'brukes som suffiks med søvnkommando. Her er tidsverdien 0.05 minutter. Etter å ha ventet 0.05 minutter, “Oppgaven er fullført”Meldingen blir skrevet ut.
#!/ bin / bashekko "Venter på 0.05 minutter ... "
sove 0.05m
ekko "Oppgave fullført"
Kjør skriptet med tid kommando som det første eksemplet.
$ time bash sleep2.shProduksjon:
Eksempel 3: søvnkommando med timesuffiks
I følgende skript, 'h'brukes som suffiks med søvnkommando. Her er tidsverdien 0.003 timer. Etter å ha ventet 0.003 timer “Oppgaven er fullført”Skal skrives ut på skjermen, men det krever flere ganger i virkeligheten når 'h' suffiks brukes.
#!/ bin / bashekko "Venter på 0.003 timer ... "
sove 0.003t
ekko "Oppgave fullført"
$ time bash sleep3.sh
Produksjon:
Eksempel 4: søvnkommando med løkke
Du kan bruke søvnkommando til forskjellige formål. I det følgende eksemplet brukes søvnkommando med while loop. Opprinnelig verdien av variabelen n er satt til 1 og verdien av n vil økes av 1 til 4 ganger i hver 2 sekunder intervall. Så når skal du kjøre skriptet, vises hver utgang etter å ha ventet i 2 sekunder.
#!/ bin / bashn = 1
mens [$ n -lt 5]
gjøre
ekko "Verdien av n er nå $ n"
sove 2s
ekko " "
((n = $ n + 1))
ferdig
Produksjon:
Eksempel 5: sovekommando i terminalen med andre kommandoer
Anta at du vil kjøre flere kommandoer og angi det faste tidsintervallet mellom utgangene til to kommandoer, så kan du bruke hvilekommandoen til å gjøre den oppgaven. I dette eksemplet, kommandoen ls og pwd er med søvn kommando. Etter å ha utført kommandoen, ls kommandoen viser kataloglisten til den gjeldende katalogen og viser den nåværende fungerende katalogbanen etter å ha ventet i 2 sekunder.
$ ls && sove 2 && pwdProduksjon:
Eksempel 6: Bruke søvnkommando fra ledeteksten
sleep-kommando brukes mellom to ekkokommandoer i følgende eksempel. Tre tidsverdier vises etter at kommandoen er utført.
$ tid (ekko "Start"; sove 5; ekko "Slutt")Produksjon:
sleep-kommando er en nyttig kommando når du trenger å skrive et bash-skript med flere kommandoer eller oppgaver, utgangen fra en hvilken som helst kommando kan kreve lang tid og annen kommando må vente på å fullføre oppgaven til forrige kommando. For eksempel vil du laste ned sekvensielle filer, og neste nedlasting kan ikke startes før du fullførte forrige nedlasting. I dette tilfellet er det bedre å sove kommandoen før hver nedlasting for å vente på den faste tiden.