Hvernig á að nota Break and Continue Yfirlýsingar í Shell Scripts
Í þessari grein munum við skoða hvernig á að nota hlé og halda áfram í bash forskriftum. Í bash höfum við þrjár aðal lykkjusmíðar (fyrir, á meðan, þar til). Break and continue yfirlýsingar eru innbyggðar og notaðar til að breyta flæði lykkjanna þinna. Þetta hugtak um hlé og áframhald er fáanlegt á vinsælum forritunarmálum eins og Python.
$ type -a break continue
Farðu úr lykkjunni með Break Statement
Brot setningin mun fara út úr lykkjunni og stjórn er send til næstu yfirlýsingu í lykkjunni. Þú getur keyrt hjálparskipunina til að fá upplýsingar um brotayfirlýsinguna.
$ help break
Grunnsetningafræði brot.
$ break [n] n is optional
Skoðaðu dæmið hér að neðan. Þetta er einfalt fyrir lykkja sem endurtekur sig yfir gildissvið frá 1 til 20 í stigvaxandi skrefi 2. Skilyrta setningin mun meta tjáninguna og þegar hún er sönn($val = 9) þá mun hún keyra brot setninguna og lykkjunni verður slitið með því að sleppa þeim endurtekningum sem eftir eru.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then break else echo "printing ${val}" fi done
Slepptu endurtekningu með áframhaldandi yfirlýsingu
Hvað ef þú vilt ekki fara alveg út úr lykkjunni en sleppa kóðablokkinni þegar ákveðið skilyrði er uppfyllt? Þetta er hægt að gera með áframhaldandi yfirlýsingu. Continu-setningin mun sleppa framkvæmd kóðablokkarinnar þegar ákveðið skilyrði er uppfyllt og stjórnin er send aftur í lykkjusetninguna fyrir næstu endurtekningu.
Til að fá aðgang að hjálp.
$ help continue
Skoðaðu dæmið hér að neðan. Þetta er sama dæmið og við notuðum til að sýna brotsyfirlýsinguna. Nú þegar Val er metið í níu þá mun halda áfram setningin sleppa öllum kóðablokkunum sem eftir eru og senda stjórnina til lykkju fyrir næstu endurtekningu.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then continue fi echo "printing ${val}" done
Ef þú þekktir python þá er brot og haltu áfram hegðun sú sama í python líka. En python veitir enn eina lykkjustjórnunaryfirlýsingu sem kallast pass.
Pass er eins og núll staðhæfing og túlkurinn mun lesa hana en mun ekki framkvæma neina aðgerð. Það leiðir einfaldlega af sér enga aðgerð. Bash gefur ekki svipaða fullyrðingu en við getum líkt eftir þessari hegðun með því að nota raunverulegt leitarorð eða tvípunkt (:). Bæði sannur og ristill eru innbyggður skel og framkvæma ekki neina aðgerð.
$ type -a : true
Skoðaðu dæmið hér að neðan. Þegar skilyrt fullyrðing er metin til að vera sönn($val = 9) þá mun sönn setning ekki gera neitt og lykkjan heldur áfram.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then true fi echo "printing ${val}" done
Það er það fyrir þessa grein. Okkur þætti vænt um að heyra dýrmæt álit þitt og allar ábendingar sem þú hefur.