Skip to main content

Hoe de Linux "sleep" -opdracht te gebruiken om een ​​BASH-script te pauzeren

How Linux is Built (April 2025)

How Linux is Built (April 2025)
Anonim

Deze handleiding laat zien hoe je de Linux-slaapopdracht gebruikt om een ​​bash-script te onderbreken.

Op zichzelf is het slaapcommando volledig nutteloos, tenzij je het terminalvenster wilt vergrendelen, maar als onderdeel van een script kan het op veel verschillende manieren worden gebruikt, inclusief als een pauze-factor voordat een opdracht opnieuw wordt geprobeerd.

Stel je bijvoorbeeld voor dat je een script had dat bestanden verwerkte die gekopieerd waren van een andere server. Het script moet het kopieerproces niet starten totdat alle bestanden zijn gedownload. Het downloadproces wordt uitgevoerd door een volledig apart script.

Het script voor het kopiëren van de bestanden bevat mogelijk een lus om te testen of alle bestanden zijn gedownload (dat wil zeggen het weet dat er 50 bestanden moeten zijn en wanneer 50 bestanden zijn gevonden, wordt het kopieerproces gestart).

Het script heeft geen zin om voortdurend te testen, omdat het tijd kost van de processor. In plaats daarvan kunt u ervoor kiezen om te testen of er voldoende bestanden zijn gekopieerd en als dit niet het geval is, pauzeert u enkele minuten en probeert u het opnieuw. Het slaapcommando is perfect in deze omstandigheden.

Hoe het slaapcommando te gebruiken

Om de opdracht Linux sleep te gebruiken, voert u het volgende in het terminalvenster in:

slaap 5s

Met de opdracht hierboven wordt uw terminal 5 seconden onderbroken voordat u terugkeert naar de opdrachtregel.

Het slaapcommando vereist het sleutelwoord 'slaap' gevolgd door het nummer dat u wilt pauzeren en vervolgens de maateenheid.

U kunt de vertraging opgeven in seconden, minuten, uren of dagen.

  • s - seconden
  • m - minuten
  • h - uren
  • d - dagen

Als het gaat om wachtdagen om iets te laten gebeuren, is het misschien de moeite waard om een ​​cron-taak te gebruiken om het script met regelmatige tussenpozen te laten draaien, in tegenstelling tot een script dat dagen achter elkaar op de achtergrond draait.

Het nummer voor de slaapopdracht hoeft niet een geheel getal te zijn. U kunt ook getallen met drijvende komma gebruiken.

Het is bijvoorbeeld perfect om de volgende syntaxis te gebruiken:

slaap 3,5s

Een voorbeeld Gebruik voor het slaapcommando

Het volgende script laat zien hoe u de slaapopdracht gebruikt om een ​​op terminals gebaseerde countdownklok te maken:

#! / Bin / bashx = 10terwijl $ x -gt 0doslaap 1sduidelijkecho "$ x seconden tot ontploffing"x = $ (($ x - 1))gedaan

Het script stelt de variabele x in op 10. De while-lus zal blijven herhalen terwijl de waarde van x groter is dan nul.

Het slaapcommando pauzeert het script telkens gedurende 1 seconde elke keer rond de lus.

De rest van het script wist het scherm van elke iteratie, toont het bericht "x seconden tot het afblaast" (dat wil zeggen 10) en trekt vervolgens 1 af van de waarde van x.

Zonder het slaapcommando zou het script doorzoomen en zouden de berichten te snel worden weergegeven.

schakelaars

Het slaapcommando heeft slechts een paar schakelaars.

De --help-switch toont het helpbestand voor de slaapopdracht. U kunt hetzelfde bereiken door het commando man als volgt te gebruiken:

man slaap

De opdracht --version toont de versie van de slaapopdracht die op uw systeem is geïnstalleerd.

De informatie die door de --version-schakelaar wordt geretourneerd is als volgt:

  • Versienummer
  • Copyright details
  • Licentie
  • auteurs