Denne veiledningen viser hvordan du bruker Linux-søkkommandoen til å stoppe et bash-skript.
På egenhånd er søvnkommandoen helt ubrukelig med mindre du liker å låse opp terminalvinduet, men som en del av et skript kan den brukes på mange forskjellige måter, inkludert som en pausefaktor, før du prøver på nytt.
For eksempel, tenk at du hadde et skript som behandlet filer kopiert fra en annen server. Skriptet bør ikke starte kopieringsprosessen før alle filene er ferdig nedlasting. Nedlastingsprosessen utføres av et helt eget skript.
Skriptet for kopiering av filene kan godt inneholde en sløyfe for å teste om alle filene er lastet ned (det vil si at det skal være 50 filer og når 50 filer er funnet, starter kopieringsprosessen).
Det er ikke noe poeng med at scriptet kontinuerlig tester, da det tar opp prosessortiden. I stedet kan du velge å teste om det er nok filer kopiert, og hvis det ikke er det, ta en pause i noen minutter og prøv igjen. Søvnkommandoen er perfekt under disse omstendighetene.
Slik bruker du søvnkommandoen
For å bruke kommandoen Linux søvn, skriv inn følgende i terminalvinduet:
sove 5s
Ovennevnte kommando vil gjøre terminalen din pause i 5 sekunder før du returnerer deg til kommandolinjen.
Sovekommandoen krever søkeordet "sove" etterfulgt av nummeret du vil sette på pause av og deretter måleenheten.
Du kan angi forsinkelsen i sekunder, minutter, timer eller dager.
- s - sekunder
- m - minutter
- h - timer
- d-dager
Når det gjelder ventedager for noe å skje, kan det være verdt å vurdere å bruke en cron-jobb for å kjøre skriptet med jevne mellomrom, i motsetning til å ha et skript som kjører i bakgrunnen for dager til slutt.
Tallet for sovkommandoen behøver ikke å være et helt tall. Du kan også bruke flytende punktnumre.
For eksempel er det helt greit å bruke følgende syntaks:
Et eksempel Bruk for søvnkommandoen
Følgende skript viser hvordan du bruker sovkommandoen til å lage en terminalbasert nedtellingsklokke:
#! / Bin / bashx = 10mens $ x -gt 0gjøresove 1sklarekko "$ x sekunder til blast off"x = $ (($ x - 1))ferdig Skriptet setter variabelen x til 10. Mens sløyfen vil fortsette å iterere mens verdien av x er større enn null. Sovekommandoen stopper skriptet i 1 sekund hver gang rundt løkken. Resten av skriptet sletter skjermen hver iterasjon, viser meldingen "x sekunder til blast off" (dvs. 10) og trekker deretter 1 fra verdien av x. Uten sovekommandoen ville skriptet zoome gjennom og meldingene vil bli vist for fort. Sovekommandoen har bare et par brytere. Hjelpebryteren viser hjelpefilen for sovkommandoen. Du kan oppnå det samme ved å bruke mannekommandoen som følger: mannen sover Kommandoen --versjon viser versjonen av søvnkommandoen som er installert på systemet ditt. Informasjonen som returneres av - versjonen bryteren er som følger: brytere