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.