Kako koristiti Break i Continue izjave u shell skriptama


U ovom članku ćemo pogledati kako koristiti prekid i nastavak u bash skriptama. U bash-u imamo tri glavne konstrukcije petlje (for, while, until). Naredbe Break i continue su ugrađene u bash i koriste se za promjenu toka vaših petlji. Ovaj koncept prekida i nastavljanja dostupan je u popularnim programskim jezicima kao što je Python.

type -a break continue

Izađite iz petlje s naredbom Break

Naredba break će izaći iz petlje i kontrola se prenosi na sljedeći izraz u petlji. Možete pokrenuti naredbu help da dobijete neke informacije o naredbi break.

help break

Osnovna sintaksa break.

break [n]

n is optional

Pogledajte primjer u nastavku. Ovo je jednostavna for petlja koja se ponavlja u rasponu vrijednosti od 1 do 20 u inkrementalnom koraku od 2. Uslovna izjava će procijeniti izraz i kada je true($val=9) tada pokrenuće naredbu break i petlja će biti prekinuta preskakanjem preostalih iteracija.

#!/usr/bin/bash

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

Preskočite iteraciju sa naredbom continue

Što ako ne želite potpuno izaći iz petlje, već preskočite blok koda kada se ispuni određeni uvjet? Ovo se može uraditi sa continue naredbom. Naredba continue će preskočiti izvršenje bloka koda kada se ispuni određeni uvjet i kontrola se vrati na naredbu petlje za sljedeću iteraciju.

Za pristup pomoći.

help continue

Pogledajte primjer u nastavku. Ovo je isti primjer koji smo koristili da demonstriramo naredbu break. Sada kada se Val procijeni na devet, onda će naredba continue preskočiti sve preostale blokove koda i prenijeti kontrolu u for petlju za sljedeću iteraciju.

#!/usr/bin/bash

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

Ako ste poznavali python onda je ponašanje prekini i nastavi isto iu pythonu. Ali python pruža još jednu kontrolnu naredbu petlje koja se zove pass.

Pass je kao null izjava i tumač će je pročitati, ali neće izvršiti nikakvu operaciju. To jednostavno rezultira bez operacije. Bash ne pruža sličnu izjavu, ali možemo oponašati ovo ponašanje koristeći istinitu ključnu riječ ili dvotočku(:). I true i colon su ugrađeni u ljusku i ne izvode nikakvu operaciju.

type -a : true

Pogledajte primjer u nastavku. Kada se uslovni izraz procijeni kao true($val=9) tada izraz true neće učiniti ništa i petlja će se nastaviti.

#!/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 ovaj članak. Voljeli bismo čuti vaše vrijedne povratne informacije i savjete koje imate.