Odotuskomennon poistumistila -arvo riippuu viimeksi määritetyn operandin osoittamasta komennosta. Kun jokin prosessi päättyy epänormaalisti, poistumistila on suurempi kuin 128 ja sen on oltava erilainen kuin muiden komentojen poistumistila -arvot. odota komento sulkeutuu arvolla 0, kun se soittaa ilman operandeja ja kaikki prosessitunnukset tunnetaan nykyisellä kuorella. Jos odotuskomento havaitsee virheen, se palauttaa minkä tahansa arvon 1 - 126. Jos viimeinen prosessitunnus on tuntematon, odota -komento sulkeutuu arvolla 127. Tässä opetusohjelmassa näytetään, miten voit käyttää odotuskäskyä Linuxissa.
Esimerkki 1: odota-komennon käyttäminen useille prosesseille
Seuraavan komentosarjan suorittamisen jälkeen taustalla suoritetaan kaksi prosessia ja ensimmäisen echo -komennon prosessitunnus tallennetaan muuttujaan $ process_id. Kun odotuskomento suoritetaan komennolla $ process_id, seuraava komento odottaa ensimmäisen echo -komennon tehtävän suorittamista. Toista odotuskomentoa käytetään ' $! 'Ja tämä osoittaa edellisen käynnissä olevan prosessin tunnuksen. ' $? 'Käytetään odotuskomennon tila -arvon lukemiseen.
#!/bin/bash
heitti pois 'testaus odota -komento1' &
process_id=$!
heitti pois 'testaus odota -komento2' &
odota $ process_id
heitti poisJob1poistui tilan kanssa$?
odota $!
heitti poisJob2poistui tilan kanssa$?
Lähtö:
$lyödäodota1.sh
Esimerkki 2: Testaa odota -komento tappaa-komennon käytön jälkeen
Seuraavassa skriptissä odotuskomento suoritetaan prosessin päätyttyä. lepokomento on käynnissä taustaprosessina ja kill -komento suoritetaan käynnissä olevan prosessin lopettamiseksi. Tämän jälkeen odotuskomento suoritetaan lopetetun prosessin prosessitunnuksella. Tulos näyttää lopetetun prosessin prosessitunnuksen.
#!/bin/bashheitti pois 'Odotuskomento testataan'
nukkua kaksikymmentä &
pid=$!
tappaa $ pid
odota $ pid
heitti pois $ pidlopetettiin.
Lähtö:
$lyödäodota2.sh
Esimerkki 3: Tarkista poistumisen tilan arvo
Seuraavassa komentosarjassa toiminto tarkistaa() kutsutaan kahdella argumenttiarvolla. Opetusohjelman alussa keskustellaan siitä, että jos odota -komento suoritetaan onnistuneesti, poistumisarvo on 0 ja jos odotuskomento havaitsee virheen, se palauttaa minkä tahansa arvon väliltä 1 - 126. Jos annat komentosarjan suorittamisen jälkeen toisen argumentin 0 arvo sitten odota -komento päättyy onnistuneesti ja jos välität minkä tahansa arvon enemmän kuin nolla, se päättyy epäonnistuneesti.
#!/bin/bashtoimintotarkistaa()
{
heitti pois 'Nuku 1 dollari'
nukkua $ 1
poistua 2 dollaria
}
tarkistaa$ 1 2 dollaria &
b=$!
heitti pois 'Tilan tarkistaminen'
odota $ b && heitti poisOK|| heitti poisEI OK
Lähtö:
$lyödäodota3.sh3 0$lyödäodota3.sh3 5
Toivottavasti tämä opetusohjelma auttaa oppimaan käytön odota -komennon oikein. Linuxissa on toinen komento nimeltä nukkua odottaa tietty määrä kertoja, mutta näiden komentojen välillä on joitain eroja. Jos olet kiinnostunut tietämään nukkumiskäsky voit käydä tässä linkissä.