Kako koristiti naredbe Break i Continue u Shell skriptama


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

type -a break continue

Izađite iz petlje naredbom Break

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

help break

Osnovna sintaksa prekida.

break [n]

n is optional

Pogledajte primjer u nastavku. Ovo je jednostavna for petlja koja ponavlja niz vrijednosti od 1 do 20 u inkrementalnom koraku od 2. Uvjetna izjava će procijeniti izraz i kada je true($val=9) tada pokrenut će naredbu break i petlja će biti prekinuta preskačući preostale iteracije.

#!/usr/bin/bash

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

Preskoči iteraciju s naredbom continue

Što ako ne želite potpuno izaći iz petlje, ali preskočite blok koda kada se ispuni određeni uvjet? To se može učiniti s naredbom nastavi. Naredba nastavi preskočit će izvršenje bloka koda kada se ispuni određeni uvjet i kontrola se vraća na naredbu petlje za sljedeću iteraciju.

Za pristup pomoći.

help continue

Pogledajte primjer u nastavku. Ovo je isti primjer koji smo koristili za demonstraciju break naredbe. Sada kada se Val procijeni na devet, tada će naredba continue preskočiti sve preostale blokove koda i proslijediti kontrolu for petlji 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, tada je ponašanje prekida i nastavaka isto i u pythonu. Ali python nudi još jednu naredbu za kontrolu 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 daje sličnu izjavu, ali možemo emulirati ovo ponašanje pomoću ključne riječi true ili dvotočke(:). I true i colon ugrađeni su u ljusku i ne izvode nikakve operacije.

type -a : true

Pogledajte primjer u nastavku. Kada se uvjetna naredba procijeni kao istinita ($val=9) tada točna naredba 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 sve savjete koje imate.