Ako používať Linux "spať" Príkaz na pozastavenie skript BASH

Táto príručka ukazuje, ako použiť príkaz Linux sleep na pozastavenie bash skriptu.

Samotný príkaz na spánok je úplne k ničomu, ak nechcete zamknúť okno terminálu, ale ako súčasť skriptu ho môžete použiť v mnohých rôznych spôsoboch, vrátane ako faktoru pauzy pred opakovaním príkazu.

Predstavte si napríklad, že ste mali skript, ktorý spracoval súbory skopírované z iného servera. Skript by nemal spustiť proces kopírovania, kým sa všetky súbory neskončia.

Proces preberania sa vykonáva úplne oddeleným skriptom.

Skript na kopírovanie súborov môže obsahovať aj slučku na otestovanie toho, či boli všetky súbory stiahnuté (tj vie, že by malo byť 50 súborov a keď bolo nájdených 50 súborov, proces kopírovania sa spustí).

Nemá žiadny zmysel, aby skript nepretržite testoval, pretože zaberá procesorový čas. Namiesto toho môžete skontrolovať, či máte skopírovaný dostatok súborov a či nie je pauza na niekoľko minút a potom to skúste znova. Príkaz spánku je pri týchto okolnostiach dokonalý.

Ako používať príkaz spánku

Ak chcete použiť príkaz Linux sleep, do okienka terminálu zadajte nasledujúce:

spať 5s

Uvedený príkaz ukončí pauzu terminálu na 5 sekúnd a potom sa vráti na príkazový riadok.

Príkaz spánku vyžaduje kľúčové slovo spánok, po ktorom nasleduje číslo, ktoré chcete pozastaviť, a potom jednotku merania.

Môžete určiť oneskorenie v sekundách, minútach, hodinách alebo dňoch.

Pokiaľ ide o čakacie dni na niečo, čo by sa mohlo stať, že by bolo vhodné zvážiť použitie cron úlohy spustiť skript v pravidelných intervaloch na rozdiel od skriptu beží na pozadí na dni na konci.

Číslo príkazu spánku nemusí byť celé číslo.

Môžete tiež použiť čísla s pohyblivou čiarou.

Napríklad je úplne v poriadku použiť nasledujúcu syntax:

spánok 3,5s

Použitie príkladu pre príkaz spánku

Nasledujúci skript ukazuje, ako používať príkaz spánku na vytvorenie odpočítavacích hodín založených na termináli:

#! / Bin / bash

x = 10

zatiaľ čo [$ x -gt 0]

robiť

spánok 1s

jasný

echo "$ x sekúnd, kým nie je vypnutý"

x = $ (($ x - 1))

hotový

Skript nastaví premennú x na 10. Momentová slučka bude pokračovať v opakovaní, zatiaľ čo hodnota x je väčšia ako nula.

Príkaz spánku pozastaví skript na 1 sekundu zakaždým okolo slučky.

Zvyšok skriptu vymaže obrazovku na každej iterácii, zobrazí správu "x sekúnd, kým sa nevypne" (tj 10) a potom odpočíta hodnotu 1 od hodnoty x.

Bez príkazu spánok by sa skript priblížil a správy by sa zobrazovali príliš rýchlo.

Príkaz spánku má iba niekoľko spínačov.

Prepínač --help zobrazuje súbor pomocníka pre príkaz spánku. Môžete dosiahnuť to isté pomocou príkazu človek takto:

muž spať

Príkaz --version zobrazuje verziu príkazu spánku, ktorý je nainštalovaný v systéme.

Informácie vrátené spínačom --version sú nasledujúce: