Skip to main content

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

Gifs With Sound #228 (Maj 2025)

Gifs With Sound #228 (Maj 2025)
Anonim

Den här guiden visar hur du använder Linux-sleep-kommandot för att pausa ett bash-skript.

På egen hand är sovkommandot helt användbart om du inte gillar att låsa upp ditt terminalfönster, men som en del av ett skript kan den användas på många olika sätt, inklusive som en pausfaktor innan du försöker igen.

Tänk dig att du hade ett manus som behandlade filer kopierade från en annan server. Skriptet ska inte starta kopieringsprocessen förrän alla filer har slutförts nedladdning. Nedladdningsprocessen utförs av ett helt separat skript.

Skriptet för att kopiera filerna kan innehålla en slinga för att testa om alla filer har laddats ner (det vill säga att det ska finnas 50 filer och när 50 filer har hittats, börjar kopieringsprocessen).

Det är ingen mening att manuset ständigt testar, eftersom det tar upp processorns tid. Istället kan du välja att testa om det finns tillräckligt med filer kopierade och om det inte finns några paus i några minuter och försök igen. Sovkommandot är perfekt under dessa omständigheter.

Så här använder du sömnkommandot

För att använda kommandot Linux-sömn anger du följande i terminalfönstret:

sova 5s

Ovanstående kommando kommer att göra din terminal paus i 5 sekunder innan du returnerar dig till kommandoraden.

Sömningskommandot kräver att sökordet "sova" följt av det nummer du vill pausa av och sedan måttenheten.

Du kan ange förseningen i sekunder, minuter, timmar eller dagar.

  • s - sekunder
  • m - minuter
  • h - timmar
  • d-dagar

När det gäller väntetid för att något ska hända, kan det vara värt att överväga att använda ett cron-jobb för att köra skriptet med jämna mellanrum, i motsats till att man har ett skript som körs i bakgrunden för dagar i slutet.

Numret för sovkommandot behöver inte vara ett heltal. Du kan också använda flytande punktnummer.

Det är till exempel perfekt att använda följande syntax:

sova 3,5 s

Ett exempel Används för sömnkommandot

Följande skript visar hur du använder sova-kommandot för att skapa en terminalbaserad nedräkningsklocka:

#! / Bin / bashx = 10medan $ x -gt 0dosova 1sklareko "$ x sekunder tills sprängning"x = $ (($ x - 1))Gjort

Skriptet sätter variabeln x till 10. Samtidigt slingan fortsätter att iterera medan värdet av x är större än noll.

Sömkommandot pausar manuset i 1 sekund varje gång runt slingan.

Resten av skriptet rensar skärmen varje iteration, visar meddelandet "x sekunder till sprängning" (dvs 10) och subtraherar sedan 1 från värdet av x.

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

Växlar

Sovkommandot har bara ett par strömbrytare.

Hjälphanteraren visar hjälpfilen för sovkommandot. Du kan uppnå samma sak genom att använda mankommandot som följer:

man sover

Kommandot --version visar vilken version av sömnkommandot som är installerat på ditt system.

Informationen som returneras av versionversionen är följande:

  • Versionsnummer
  • Upphovsrättens uppgifter
  • Licens
  • Författare