Slaapcommando in Linux

Sleep Command Linux



Het slaapcommando wordt gebruikt om een ​​vaste hoeveelheid tijd uit te stellen tijdens de uitvoering van een script. Wanneer de codeur de uitvoering van een opdracht voor een bepaald doel moet pauzeren, wordt deze opdracht gebruikt met de specifieke tijdswaarde. U kunt het vertragingsbedrag instellen door: seconden (s), minuten (m), uren (h) en dagen (d). Deze zelfstudie helpt je het gebruik van de slaapopdracht te leren door verschillende bash-scripts te gebruiken.

Syntaxis van slaapcommando's:

slaapnummer [achtervoegsel]







U kunt elk geheel of gebroken getal als tijdswaarde gebruiken. Het achtervoegselgedeelte is optioneel voor deze opdracht. Als u het achtervoegsel weglaat, wordt de tijdwaarde standaard berekend als seconden. Je kunt gebruiken s, m, h en NS als achtervoegselwaarde. De volgende voorbeelden tonen het gebruik van de slaapopdracht met verschillende achtervoegsels.



Voorbeeld-1: slaapcommando zonder enig achtervoegsel

In het volgende script wordt de slaapopdracht gebruikt met een numerieke waarde 2 alleen en er wordt geen achtervoegsel gebruikt. Dus, als je het script uitvoert, dan is de string Taak volbracht wordt afgedrukt na 2 seconden wachten.



#!/bin/bash

gooide uit 'Wacht 2 seconden...'
slaap 2
gooide uit 'Taak volbracht'

Voer het bash-bestand uit met tijd commando om de drie soorten tijdwaarden weer te geven om het script uit te voeren. De output toont de tijd gebruikt door een systeem, gebruiker en realtime.





$tijd bashsleep1.sh

Uitgang:



Voorbeeld-2: slaapcommando met een minuutachtervoegsel

In het volgende script, ' m ' wordt gebruikt als het achtervoegsel bij het slaapcommando. Hier is de tijdwaarde 0,05 minuten. Na 0,05 minuten wachten, Taak volbracht bericht wordt afgedrukt.

#!/bin/bash

gooide uit 'Wacht 0,05 minuten...'
slaap0,05m
gooide uit 'Taak volbracht'

Voer het script uit met tijd commando zoals het eerste voorbeeld.

$tijd bashsleep2.sh

Uitgang:

Voorbeeld-3: slaapcommando met uursuffix

In het volgende script, ' H ' wordt gebruikt als het achtervoegsel bij het slaapcommando. Hier is de tijdwaarde 0,003 uur. Na 0,003 uur wachten Taak volbracht moet op het scherm worden afgedrukt, maar het vereist in werkelijkheid meer keren wanneer: 'H' achtervoegsel wordt gebruikt.

#!/bin/bash

gooide uit 'Wachten op 0,003 uur...'
slaap0,003 uur
gooide uit 'Taak volbracht'

$tijd bashsleep3.sh

Uitgang:

Voorbeeld-4: slaapcommando met lus

U kunt de slaapopdracht voor verschillende doeleinden gebruiken. In het volgende voorbeeld wordt de opdracht sleep gebruikt met while-lus. Aanvankelijk is de waarde van de variabele N is ingesteld op 1 en de waarde van N wordt verhoogd met 1 voor 4 keer in elke 2 seconden interval. Dus, wanneer ga je het script uitvoeren, elke uitvoer verschijnt na 2 seconden wachten.

#!/bin/bash
N=1
terwijl [ $n -lt 5 ]
doen
gooide uit 'De waarde van n is nu$n'
slaap2s
gooide uit ''
((N=$n+1))
gedaan

Uitgang:

Voorbeeld-5: slaapcommando in de terminal met andere commando's

Stel dat u meerdere opdrachten wilt uitvoeren en het vaste tijdsinterval tussen de uitvoer van twee opdrachten wilt instellen, dan kunt u de slaapopdracht gebruiken om die taak uit te voeren. In dit voorbeeld is het commando ls en pwd zijn met slaap opdracht. Na het uitvoeren van de opdracht, ls commando toont de directorylijst van de huidige directory en toont het huidige werkdirectorypad na 2 seconden wachten.

$ls && slaap 2 && pwd

Uitgang:

Voorbeeld-6: Sleep-opdracht gebruiken vanaf de opdrachtprompt

sleep commando wordt gebruikt tussen twee echo commando's in het volgende voorbeeld. Na het uitvoeren van de opdracht worden drie tijdswaarden weergegeven.

$tijd (gooide uit 'Begin';slaap 5;gooide uit 'Einde')

Uitgang:

sleep-opdracht is een nuttige opdracht wanneer u een bash-script met meerdere opdrachten of taken moet schrijven, de uitvoer van een opdracht kan veel tijd vergen en andere opdrachten moeten wachten op het voltooien van de taak van de vorige opdracht. U wilt bijvoorbeeld opeenvolgende bestanden downloaden en de volgende download kan niet worden gestart voordat de vorige download is voltooid. In dit geval is het beter om voor elke download de slaapopdracht te geven om de vastgestelde tijd te wachten.