Kā lietot Linux "miega" komandu, lai pārtrauktu BASH skriptu

Šajā rokasgrāmatā parādīts, kā izmantot Linux miega komandu, lai apturētu bash skriptu.

Atsevišķi miega komanda ir pilnīgi bezjēdzīga, ja vien jūs nevēlaties bloķēt savu termināla logu, bet kā daļu no skripta to var izmantot daudzos dažādos veidos, tostarp kā pauzes faktors, pirms atkārtot komandas darbību.

Piemēram, iedomājieties, ka jums bija skripts, kas apstrādāja failus, kas tika kopēti no cita servera. Skriptam nevajadzētu sākt kopēšanas procesu, kamēr visi faili nav pabeiguši lejupielādi.

Lejupielādes procesu veic pilnīgi atsevišķs skripts.

Failu kopēšanas skriptam var būt arī cilpa, lai pārbaudītu, vai visi faili ir lejupielādēti (ti, tā zina, ka vajadzētu būt 50 failiem un kad ir atrasts 50 failu kopēšanas process).

Nav jēgas, ka skripts nepārtraukti tiek pārbaudīts, jo tas aizņem procesora laiku. Tā vietā jūs varat izvēlēties pārbaudīt, vai ir kopēts pietiekami daudz failu, un, ja dažām minūtēm nav pauzes, pēc tam mēģiniet vēlreiz. Miega komanda ir ideāla šādos apstākļos.

Kā lietot miega komandu

Lai izmantotu Linux miega komandu, ievadiet šādu informāciju termināla logā:

gulēt 5s

Iepriekš minētā komanda padarīs jūsu termināli pauze 5 sekundes pirms atgriešanās pie komandrindas.

Miega komandai ir nepieciešams atslēgvārds miega, kam seko numurs, kuru vēlaties apturēt, un pēc tam mērvienība.

Varat norādīt aizkavi sekundēs, minūtēs, stundās vai dienās.

Kad runa ir par gaidīšanas dienām, lai kaut kas notiktu, varētu būt vērts apsvērt iespēju izmantot cron darbu, lai skriptu palaistu regulāri, pretēji tam, ka skripts darbojas fonā dienas beigās.

Miega komandas skaitlim nav jābūt veselam skaitlim.

Varat arī izmantot peldošā komata numurus.

Piemēram, ir pilnīgi pareizi izmantot šādu sintaksi:

gulēt 3,5 sekundes

Piemērs lietošanai miega komandai

Sekojošais skripts parāda, kā izmantot miega komandu, lai veiktu termināļa bāzes atpakaļskaitīšanas pulksteni:

#! / bin / bash

x = 10

kamēr [$ x -gt 0]

dari

gulēt 1s

skaidrs

echo "$ x sekundes, līdz sāk noplūst"

x = $ (($ x-1))

pabeigts

Skripts nosaka mainīgo lielumu x 10. Laika cilpas turpina atkārtot, bet x vērtība ir lielāka par nulli.

Miega komanda katru reizi ap cilpu pārtrauc skriptu 1 sekundi.

Atlikušais skripts iztīra ekrānu katrai iterācijai, parāda ziņojumu "x sekundes līdz izsmidzināšanai" (ti, 10), un tad atņem 1 no x vērtības.

Bez miega komandas skripts tiks tuvināts, un ziņojumi tiks parādīti pārāk ātri.

Miega komandai ir tikai pāris slēdži.

Sinhronizācijas slēdzis parāda miega komandas palīdzības failu. Jūs varat sasniegt to pašu, izmantojot komandu man šādi:

cilvēks gulēt

Komandu --version parāda jūsu sistēmā instalētās miega komandas versiju.

Informācija, ko atgriež ar --versijas slēdzi, ir šāda: