Hoe om die Linux "sleep" opdrag te gebruik om 'n BASH Script te onderbreek

Hierdie gids wys hoe om die Linux slaapopdrag te gebruik om 'n bash script te onderbreek.

Op sy eie is die slaapopdrag heeltemal nutteloos as jy nie jou terminale venster wil opsluit nie, maar as deel van 'n script kan dit op verskeie maniere gebruik word, insluitend as 'n pauffaktor voordat jy 'n opdrag probeer herprobeer.

Stel jou voor dat jy 'n script gehad het wat verwerkte lêers van 'n ander bediener gekopieer het. Die skrip moet nie die kopieproses begin voordat al die lêers klaar is met aflaai nie.

Die aflaai proses word uitgevoer deur 'n heeltemal aparte script.

Die skrip vir die kopiëring van die lêers bevat dalk 'n lus om te toets of al die lêers afgelaai is (dit wil sê, dit moet 50 lêers wees en wanneer 50 lêers gevind is, word die kopieerproses begin).

Daar is geen sin dat die script voortdurend toets, aangesien dit verwerker tyd neem. In plaas daarvan, kan jy kies om te toets of daar genoeg lêers is gekopieer en as daar nie 'n paar minute wag en probeer dan weer. Die slaap bevel is perfek in hierdie omstandighede.

Hoe om die slaapbevel te gebruik

Om die Linux slaapopdrag te gebruik, voer die volgende in die terminale venster in:

slaap 5s

Bogenoemde opdrag sal jou terminale breek vir 5 sekondes voordat jy na die opdraglyn terugkeer.

Die slaapopdrag vereis dat die navraag slaap, gevolg deur die nommer wat u wil deurbreek en dan die meeteenheid.

U kan die vertraging spesifiseer in sekondes, minute, ure of dae.

As dit kom by wagtendes dat daar iets gebeur, is dit dalk die moeite werd om te oorweeg om 'n cron-werk te gebruik om die skrif op gereelde tye te laat loop, in teenstelling met die feit dat 'n script vir dae na die einde op die agtergrond vertoon word.

Die nommer vir die slaapopdrag hoef nie 'n heelgetal te wees nie.

U kan ook swewende puntnommers gebruik.

Byvoorbeeld, dit is goed om die volgende sintaksis te gebruik:

slaap 3.5s

'N Voorbeeld gebruik vir die slaapbevel

Die volgende skrip wys hoe om die slaapopdrag te gebruik om 'n terminaal aftellingklok te maak:

#! / Bin / bash

x = 10

terwyl [$ x -gt 0]

doen

slaap 1s

duidelik

eggo "$ x sekondes tot uitblaas"

x = $ (($ x - 1))

gedaan

Die skrif stel die veranderlike x tot 10. Die terwyl lus sal voortduur om te herhaal terwyl die waarde van x groter as nul is.

Die slaapbevel wag die skrif vir 1 sekonde elke keer om die lus.

Die res van die skrip verwyder die skerm elke herhaling, vertoon die boodskap "x sekondes tot ontploffing" (dws 10) en trek dan 1 uit die waarde van x.

Sonder die slaapopdrag sal die skrif soem en die boodskappe sal te vinnig vertoon word.

Die slaapopdrag het net 'n paar skakelaars.

Die help-skakel wys die hulp lêer vir die slaapopdrag. Jy kan dieselfde ding bereik deur die man-opdrag soos volg te gebruik:

man slaap

Die weergawe - weergawe wys die weergawe van die slaapopdrag wat op u stelsel geïnstalleer is.

Die inligting wat deur die --versie skakelaar gestuur word, is soos volg: