Syntax príkazu spánok:
číslo spánku [prípona]
Ako časovú hodnotu môžete použiť akékoľvek celé číslo alebo zlomkové číslo. Príponová časť je pre tento príkaz voliteľná. Ak príponu vynecháte, hodnota času sa štandardne vypočíta ako sekundy. Môžeš použiť s, m, h a d ako príponová hodnota. Nasledujúce príklady ukazujú použitie príkazu spánok s rôznymi príponami.
Príklad 1: príkaz spánku bez akejkoľvek prípony
V nasledujúcom skripte sa príkaz spánku používa s číselnou hodnotou 2 iba a nie je použitá žiadna prípona. Ak teda spustíte skript, potom reťazec Úloha dokončená sa vytlačí po 2 sekundách čakania.
#!/bin/bash
zahodil „Čakanie 2 sekundy ...“
spať 2
zahodil „Úloha dokončená“
Spustite súbor bash pomocou čas príkaz na zobrazenie troch typov časových hodnôt na spustenie skriptu. Výstup ukazuje čas, ktorý systém používa, používateľ a reálny čas.
$čas bashsleep1.sh
Výkon:
Príklad 2: príkaz spánku s minútovou príponou
V nasledujúcom skripte „ m ‘Sa používa ako prípona s príkazom spánku. Tu je hodnota času 0,05 minúty. Po čakaní 0,05 minúty Úloha dokončená správa sa vytlačí.
#!/bin/bashzahodil „Čakanie 0,05 minúty ...“
spať0,05 m
zahodil „Úloha dokončená“
Spustite skript pomocou čas príkaz ako prvý príklad.
$čas bashsleep2.shVýkon:
Príklad 3: príkaz spánku s hodinovou príponou
V nasledujúcom skripte „ h ‘Sa používa ako prípona s príkazom spánku. Tu je hodnota času 0,003 hodiny. Po čakaní 0,003 hodiny Úloha dokončená by mali byť vytlačené na obrazovke, ale v skutočnosti to vyžaduje viackrát „H“ používa sa prípona.
#!/bin/bashzahodil „Čakanie 0,003 hodiny ...“
spať0,003 h
zahodil „Úloha dokončená“
$čas bashsleep3.sh
Výkon:
Príklad-4: príkaz spánku so slučkou
Príkaz spánku môžete použiť na rôzne účely. V nasledujúcom príklade sa príkaz spánku používa s cyklom while. Na začiatku hodnota premennej n je nastavená na 1 a hodnota n sa zvýši o 1 pre 4 krát v každom 2 sekundový interval. Kedy teda skript spustíte, každý výstup sa zobrazí po 2 sekundách.
#!/bin/bashn=1
kým [ $ n -lt 5 ]
urobiť
zahodil „Hodnota n je teraz$ n'
spať2 s
zahodil ''
((n=$ n+1))
hotový
Výkon:
Príklad-5: príkaz spánku v termináli s inými príkazmi
Predpokladajme, že chcete spustiť viac príkazov a nastaviť pevný časový interval medzi výstupmi dvoch príkazov, potom na vykonanie tejto úlohy môžete použiť príkaz spánku. V tomto prípade príkaz ls a pwd sú s spať príkaz. Po vykonaní príkazu, ls príkaz zobrazí zoznam adresárov aktuálneho adresára a po 2 sekundách zobrazí cestu aktuálneho pracovného adresára.
$ls && spať 2 && pwdVýkon:
Príklad 6: Použitie príkazu spánku z príkazového riadka
príkaz spánku sa používa medzi dvoma príkazmi ozveny v nasledujúcom príklade. Po vykonaní príkazu sa zobrazia tri časové hodnoty.
$čas (zahodil 'Štart';spať 5;zahodil 'Koniec')Výkon:
spánkový príkaz je užitočný príkaz, keď potrebujete napísať bash skript s viacerými príkazmi alebo úlohami, výstup akéhokoľvek príkazu môže vyžadovať veľa času a ďalší príkaz bude musieť čakať na dokončenie úlohy predchádzajúceho príkazu. Napríklad chcete sťahovať sekvenčné súbory a ďalšie sťahovanie nemožno spustiť skôr, ako dokončíte predchádzajúce sťahovanie. V tomto prípade je lepšie pred každým sťahovaním povel k spánku čakať na stanovenú dobu.