Skip to content

Så här använder du Linux Sleep -kommandot för att pausa ett BASH -skript

13 de september de 2021
use linux sleep command 3572060 21f86713ee724a4898c755e6359f9ca7

Vad man ska veta

  • Använd sömn kommando plus en tid; s=sekunder, m=minuter, h=timmar, eller d=dagar (till exempel, sova 5s pausar manuset i 5 sekunder).
  • Använda sig av man sover för mer.

Den här artikeln förklarar hur du använder kommandot Linux sleep för att pausa bland annat ett bash -skript. I sig är sömnkommandot inte särskilt användbart. Som en del av ett manus kan det dock användas på många sätt. Du kan till exempel använda det för att pausa skriptet innan du försöker igen med ett kommando som misslyckades första gången.

Ett exempel på hur du använder Sleep -kommandot

Tänk dig att du har ett skript som behandlar filer som laddades ner från en annan server. Skriptet ska inte starta kopieringsprocessen förrän alla filer har laddats ner. Nedladdningsprocessen utförs med ett separat skript som körs före ditt. Skriptet som kopierar filerna kan innehålla en loop för att testa om alla filer har laddats ner (det gör detta genom att kontrollera om 50 filer finns innan kopieringsprocessen startas). Det är ingen idé att skriptet testas ständigt eftersom det använder processortid. Istället kan du pausa några minuter mellan varje test innan du försöker igen. Sömnkommandot är perfekt under sådana omständigheter.

Hur man använder sömnkommandot

För att använda kommandot för viloläge i Linux anger du följande i terminalfönstret: sov 5s

class = ”ql-syntax”> Kommandot ovan gör att terminalen pausas i 5 sekunder innan den återgår till kommandoraden. Kommandot för sömn kräver nyckelordet sömn, följt av det nummer du vill pausa och måttenheten. Du kan ange fördröjningen i sekunder, minuter, timmar eller dagar.

  • s: Sekunder
  • m: Minuter
  • h: Timmar
  • d: Dagar

När det gäller att pausa ett skript i dagar, använd ett cron -jobb för att köra skriptet med jämna mellanrum, i motsats till att ett skript körs i bakgrunden i dagar. Ett cron -jobb är ett Linux -kommando eller skript som du kan schemalägga för att köra vid en viss tid eller dag. Dessa är användbara för att upprepa uppgifter under en lång tid. Siffran för sömnkommandointervallet behöver inte vara ett heltal. Du kan också använda flyttal.

Linux sömnkommando

Till exempel innehåller följande syntax en bråkdel av en sekund: sova 3,5 sekunder

class = ”ql-syntax”>

Ett exempel på hur du använder Sleep -kommandot

Följande skript visar hur du använder sömnkommandot för att skapa en terminalbaserad nedräkningsklocka: #!/Bin/bash
x = 10
medan [ $x -gt 0 ]
do
sova 1s
klar
eko ”$ x sekunder tills blast off”
x = $ (($ x – 1))
Gjort

class = ”ql-syntax”> Så här fungerar det här skriptet:

  • Skriptet sätter variabeln x till 10.
  • Medan loop fortsätter att iterera medan värdet på x är större än noll.
  • Sömnkommandot pausar manuset i 1 sekund varje gång runt slingan.
  • Resten av skriptet rensar skärmen varje iteration, visar meddelandet, ”x sekunder tills sprängning av”, och subtraherar 1 från värdet av x.

Linux sover i skript

Utan sömnkommandot skulle manuset zooma igenom och meddelandena visas för snabbt.

Hur man använder Sleep Command -omkopplare

Sleep -kommandot har bara ett par switchar. De –hjälp switch visar hjälpfilen för sömnkommandot. Du kan uppnå samma sak genom att använda man -kommandot enligt följande: man sover

type = ”code”> –version switch visar versionen av sömnkommandot som är installerat på systemet. Informationen som returneras av –versionsomkopplaren är följande:

  • Versionsnummer
  • Upphovsrättsinformation
  • Licens
  • Författare

Pausa terminalkommandon med viloläge

En annan bra användning för sömnkommandot är att pausa kommandon som du skriver i terminalfönstret. Om du vill kan du skriva två kommandon i rad och vänta på att det första ska bli klart innan du skriver det andra. Ett snabbare tillvägagångssätt är dock att skriva de två kommandona på en rad, med ett viloläge mellan varje kommando: $ cd / mydirectory / && sleep 3 && ls

type = ”code”> Så här fungerar det här kommandot:

  • De cd /mydirectory / kommandot ändrar katalogen.
  • De sova 3 kommandot väntar tre sekunder på att cd -kommandot är klart.
  • De ls kommandot kör och visar kataloginnehållet.

För ett enkelt exempel som detta sparar sömnkommandot bara lite tid. Men om du har en lång lista med kommandon sparar tid.