Kuinka käyttää Linuxin "nukkumaan" -komento keskeyttää BASH-komentosarjan

Tässä oppaassa näkyy, miten Linux- nukkumoduulia voidaan käyttää keskeyttämään komentosarjan.

Yksinään uniajoneuvo on täysin hyödytön, ellei haluat lukita pääteikkunasi, mutta osana komentosarjaa sitä voidaan käyttää monella eri tavalla, kuten keskeytystekijänä, ennen kuin yritetään suorittaa komento uudelleen.

Kuvittele esimerkiksi, että sinulla oli komentosarja, joka käsitteli tiedostoja, jotka on kopioitu toiselta palvelimelta. Skripti ei saisi aloittaa kopiointimenettelyä, ennen kuin kaikki tiedostot ovat latautuneet loppuun.

Latausprosessi suoritetaan täysin erillisellä käsikirjoituksella.

Tiedostojen kopiointi käsikirjoitus saattaa sisältää silmukan, jonka avulla voidaan testata onko kaikki tiedostot ladattu (eli se tietää, että tiedostoja on 50, ja kun 50 tiedostoa on löytynyt, kopiointi käynnistetään).

Ei ole mitään järkeä, että käsikirjoitus jatkuvasti testaa, koska se vie prosessorin ajan. Sen sijaan voit halutessasi testata onko tarpeeksi kopioituja tiedostoja ja jos muutamia minuutteja ei ole, ja yritä sitten uudelleen. Uniajoitus on täydellinen näissä olosuhteissa.

Kuinka käyttää nukkumoduulia

Voit käyttää Linux-univormu komentoa seuraavasti:

nukkua 5s

Yllä oleva komento tekee päätelaitteistasi pysähtyen 5 sekuntia ennen paluuta komentoriville.

Uniajoitus vaatii avainsanan unen ja sen numeron, jonka haluat keskeyttää ja sitten mittayksikön.

Voit määrittää viiveen sekunteina, minuutteina, tunteina tai päivinä.

Kun on kyse odotusajoista, kun jotain tapahtuu, kannattaa harkita cron-työtä käsittelemään komentosarjaa säännöllisin väliajoin sen sijaan, että käsikirjoitus toimii taustalla päivien päästä.

Nukkumerkin numeron ei tarvitse olla kokonaisluku.

Voit myös käyttää liukulukujen numeroita.

Esimerkiksi on täysin hyvä käyttää seuraavaa syntaksia:

nukkua 3.5s

Esimerkkikäyttö lepotilaan

Seuraava käsikirjoitus näyttää, kuinka käyttää sleep-komentoa päätepohjaisen lähtölaskentakellon tekemiseen:

#! / Bin / bash

x = 10

kun taas [$ x -gt 0]

tehdä

nukkua 1s

asia selvä

kaiku "$ x sekuntia, kunnes blast off"

x = $ (($ x - 1))

tehty

Käsikirjoitus asettaa muuttujan x arvoon 10. Kun taas silmukka jatkaa iteraatiota, kun arvon x on suurempi kuin nolla.

Uniajoitus keskeyttää komentosarjan 1 sekunnin ajan joka kerta silmukan ympärillä.

Muut skripti tyhjentää näytön jokaisen iteraation, näyttää viestin "x sekuntia kunnes räjähdys pois" (ts. 10) ja sitten vähentää arvon 1 x: n arvosta.

Ilman nukkumoduulia skripti suurentaisi ja viestit näyttäisivät liian nopeasti.

Uni-komennolla on vain pari kytkintä.

--help-kytkin näyttää uniajokomennon ohjetiedoston. Voit saavuttaa saman kohdan käyttämällä man-komentoa seuraavasti:

mies nukkuu

Versio-komento näyttää järjestelmään asennetun univastukomennon version.

Versiokytkimen palauttama tieto on seuraava: