Kako uporabljati izjave o prekinitvi in nadaljevanju v skriptih lupine


V tem članku si bomo ogledali, kako uporabiti odmor in nadaljevati v bash skriptih. V bash imamo tri konstrukcije glavne zanke (za, medtem, dokler). Izjave Break and Continu so vgrajene v bash in se uporabljajo za spreminjanje pretoka vaših zank. Ta koncept break and continue je na voljo v priljubljenih programskih jezikih, kot je Python.

$ type -a break continue

Iz zanke zapustite izjavo Break

Stavek break bo izstopil iz zanke in nadzor se bo prenesel na naslednji stavek v zanki. Zaženete lahko ukaz za pomoč, da dobite nekaj informacij o stavku break.

$ help break

Osnovna sintaksa break.

$ break [n]

n is optional

Oglejte si spodnji primer. To je preprosta zanka for, ki se v koraku po koraku ponovi v obsegu vrednosti od 1 do 20. Pogojni stavek bo ovrednotil izraz in ko bo ta vrednost resnična ($val = 9), bo zagnala izjavo break in zanka se zaključi, preskoči preostale ponovitve.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
     break
  else
  echo "printing ${val}"
fi
done

Preskočite iteracijo z nadaljevanjem izjave

Kaj pa, če ne želite popolnoma izstopiti iz zanke, ampak preskočiti blok kode, ko je izpolnjen določen pogoj? To lahko storite z izjavo nadaljevanja. Stavek continue bo preskočil izvajanje bloka kode, ko bo izpolnjen določen pogoj in se bo kontrolnik vrnil v stavek zanke za naslednjo ponovitev.

Za dostop do pomoči.

$ help continue

Oglejte si spodnji primer. To je isti primer, ki smo ga uporabili za predstavitev stavka break. Zdaj, ko je Val ovrednoten z devet, bo izjava continue preskočila vse preostale bloke kode in kontrolnik posredovala zanki for za naslednjo ponovitev.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      continue
  fi
  echo "printing ${val}"
done

Če ste vedeli, da je python, je vedenje break in continue enako tudi v pythonu. Toda python ponuja še en stavek za nadzor zanke, imenovan pass.

Pass je kot ničelna izjava in tolmač jo bo prebral, vendar ne bo izvedel nobene operacije. Preprosto povzroči nobeno delovanje. Bash ne ponuja podobne izjave, vendar lahko to vedenje posnemamo z uporabo resnične ključne besede ali dvopičja (:). Tako true kot dvopičje je vgrajeno v lupino in ne izvaja nobene operacije.

$ type -a : true

Oglejte si spodnji primer. Ko pogojni stavek oceni kot resničnega ($val = 9), potem pravi stavek ne bo naredil ničesar in zanka se bo nadaljevala.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      true
  fi
  echo "printing ${val}"
done

To je to za ta članek. Radi bi slišali vaše dragocene povratne informacije in nasvete.