Kuidas kasutada kuni kestade skriptide silmuseni
Bashis for, while ja kuni on kolm silmuse konstruktsiooni. Ehkki iga silmus erineb süntaktiliselt ja funktsionaalselt, on nende eesmärk korrata üle koodiploki, kui teatud avaldist hinnatakse.
Kuni loopi kasutatakse koodiploki käivitamiseks seni, kuni avaldis hinnatakse valeks. See on täpselt vastupidine mingi aja loopile. Kuigi loop käivitab koodiploki, kui avaldis on tõene ja kuni loop teeb vastupidist.
until [ expression ] do code block ... ... done
Jaotame süntaks.
- Tsükli alustamiseks peaksite kasutama märksõna, millele järgneb avaldis ühe- või topeltklambrites.
- Koodiploki käitamise alustamiseks tuleks avaldist hinnata vääraks.
- Tegelik koodiplokk pannakse tehte ja tehtud vahele.
Sellest lühikesest artiklist saate järgmiste näidete abil teada, kuidas kasutada shelliskriptide silmuseni.
Looge skriptides lõpmatu silmus
Võite luua lõpmatu tsükli, kasutades avaldisena vale lauset. Kui proovite simuleerida lõpmatuid tsükleid, proovige kasutada unerežiimi, mis läbib skripti perioodiliselt.
count=0 until false do echo "Counter = $count" ((count++)) sleep 2 done
Looge ühe rea avaldused
Saate luua üherealisi tsüklilauseid. Heitke pilk allpool olevale koodile. See on sama mis meie esimene lõpmatu silmuse näide, kuid ühes reas. Siin peate iga lause lõpetamiseks kasutama semikooloni (;)
.
# until false; do echo "Counter = $count"; ((count++)); sleep 2; done
Muutke voolu pausi ja jätkake avaldust
Võite kasutada pausi ja jätkata lauseid loopi ajal. Katkendi lause väljub tsüklist ja edastab juhtelemendi järgmisele lausele, samal ajal kui jätkav lause jätab praeguse iteratsiooni vahele ja alustab järgmise iteratsiooni tsüklis.
Kasutan sama lõpmatu silmuse näidet. Siin, kui loend on võrdne viie jätkamislausega, hüpatakse järgmisele iteratsioonile, jättes ülejäänud silmuse keha vahele. Samamoodi katkeb silmus, kui arv on 10 või suurem.
count=0 until false do ((count++)) if [[ $count -eq 5 ]] then continue elif [[ $count -ge 10 ]] then break fi echo "Counter = $count" done
See on selle artikli jaoks. Püüame teid varsti veel ühe huvitava artikliga ‘kuni’, jätkake siis lugemist ja toetage meid.