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.