Kuidas kasutada katkemise ja jätkamise avaldusi Shelli skriptides
Selles artiklis vaatleme, kuidas kasutada pausi ja jätkata bashi skriptides. Bashis on meil kolm peamist silmuse konstruktsiooni (for, while, Kuni). Katkesta ja jätka -laused on sisseehitatud ja neid kasutatakse teie silmuste voo muutmiseks. See katkestamise ja jätkamise mõiste on saadaval populaarsetes programmeerimiskeeltes nagu Python.
$ type -a break continue
Väljuge silmusest katkestuse avaldusega
Katkestuse lause väljub tsüklist ja kontroll edastatakse tsükli järgmisele avaldusele. Break-avalduse kohta teabe saamiseks võite käivitada käsu help.
$ help break
Murdmise põhisüntaks.
$ break [n] n is optional
Vaadake allpool toodud näidet. See on tsükli jaoks lihtne, mis kordub väärtuste vahemikus 1 kuni 20 astmelises astmes 2. Tingimuslik lause hindab avaldist ja kui see on tõene ($val = 9), käivitab ta lause break ja silmus lõpetatakse, jättes ülejäänud kordused vahele.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then break else echo "printing ${val}" fi done
Jätkake korduse jätkamise avaldusega
Mis juhtub, kui te ei soovi ringist täielikult väljuda, kuid jätate koodiploki vahele, kui teatud tingimus on täidetud? Seda saab teha jätkuva avaldusega. Jätkamise lause jätab koodiploki täitmise vahele, kui teatud tingimus on täidetud ja juhtseade edastatakse järgmise iteratsiooni jaoks tagasi loop-lause juurde.
Abi saamiseks.
$ help continue
Vaadake allpool toodud näidet. See on sama näide, mida kasutasime katkestuse avalduse demonstreerimiseks. Kui Vali väärtus on hinnatud üheksaks, jätab käsk jätka kõik ülejäänud koodiplokid ja edastab järgmise iteratsiooni jaoks juhtelemendi silmuse jaoks.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then continue fi echo "printing ${val}" done
Kui teadsite pythonit, siis katkesta ja jätka käitumist sama ka pythonis. Kuid python pakub veel ühe silmuse juhtlause, mida nimetatakse passiks.
Pass on nagu nulllause ja tõlk loeb selle läbi, kuid ei tee ühtegi toimingut. Selle tulemusel lihtsalt ei toimita. Bash ei esita sarnast väidet, kuid me võime seda käitumist jäljendada tõelise märksõna või kooloniga (:). Nii tõsi- kui ka koolon on sisseehitatud kest ja ei tee ühtegi toimingut.
$ type -a : true
Vaadake allpool toodud näidet. Kui tingimuslauset hinnatakse tõeseks ($val = 9), ei tee tõene lause midagi ja silmus jätkub.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then true fi echo "printing ${val}" done
See on selle artikli jaoks. Tahaksime hea meelega kuulda teie väärtuslikku tagasisidet ja kõiki teie näpunäiteid.