Giunsa Paggamit ang Break and Continue Statement sa Shell Scripts


Niini nga artikulo, atong tan-awon kung giunsa ang paggamit sa usa ka pahulay ug pagpadayon sa mga script sa bash. Sa bash, kita adunay tulo ka mga nag-unang loop constructs (alang sa, samtang, hangtud). Ang break ug continue nga mga pahayag kay bash builtin ug gigamit para usbon ang dagan sa imong loops. Kini nga konsepto sa break ug pagpadayon anaa sa sikat nga programming language sama sa Python.

$ type -a break continue

Paggawas sa loop nga adunay usa ka Break Statement

Ang pahayag sa break mogawas gikan sa loop ug ang kontrol ipasa sa sunod nga pahayag sa loop. Mahimo nimong ipadagan ang tabang nga sugo aron makakuha og pipila ka impormasyon bahin sa pahayag sa break.

$ help break

Ang sukaranan nga syntax sa break.

$ break [n]

n is optional

Tan-awa ang pananglitan sa ubos. Kini usa ka yano nga loop nga nag-uli sa usa ka sakup sa mga kantidad gikan sa 1 hangtod 20 sa usa ka incremental nga lakang sa 2. Ang conditional nga pahayag mag-evaluate sa ekspresyon ug kung kini tinuod ($val = 9) unya kini modagan sa break nga pahayag ug ang loop mahunong sa paglaktaw sa nahabilin nga mga pag-uli.

#!/usr/bin/bash

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

Laktawan ang usa ka Pag-uli nga adunay pagpadayon nga Pahayag

Unsa kaha kung dili nimo gusto nga hingpit nga makagawas gikan sa loop apan laktawan ang block sa code kung ang usa ka kondisyon natuman? Mahimo kini pinaagi sa pagpadayon nga pahayag. Ang pagpadayon nga pahayag molaktaw sa pagpatuman sa bloke sa code kung ang usa ka piho nga kondisyon nahimamat ug ang kontrol ipasa balik sa pahayag sa loop alang sa sunod nga pag-uli.

Aron ma-access ang tabang.

$ help continue

Tan-awa ang pananglitan sa ubos. Kini ang parehas nga pananglitan nga among gigamit aron ipakita ang pahayag sa break. Karon kung ang Val gi-evaluate sa siyam unya ang pagpadayon nga pahayag molaktaw sa tanan nga nahabilin nga mga bloke sa code ug ipasa ang kontrol sa para sa loop alang sa sunod nga pag-uli.

#!/usr/bin/bash

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

Kung nahibal-an nimo ang python unya ang pagbungkag ug pagpadayon sa pamatasan parehas usab sa python. Apan ang python naghatag og usa pa ka loop control statement nga gitawag og pass.

Ang pass sama sa usa ka null nga pahayag ug ang tighubad mobasa niini apan dili mohimo sa bisan unsang operasyon. Kini moresulta lamang sa walay operasyon. Ang Bash wala maghatag ug susamang pahayag apan mahimo natong sundon kini nga kinaiya gamit ang tinuod nga keyword o colon(:). Ang tinuod ug colon kay shell builtin ug wala magbuhat ug bisan unsang operasyon.

$ type -a : true

Tan-awa ang pananglitan sa ubos. Kung ang usa ka kondisyon nga pahayag gisusi nga tinuod ($val = 9) nan ang tinuod nga pahayag walay mahimo ug ang loop magpadayon.

#!/usr/bin/bash

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

Mao kana alang niini nga artikulo. Gusto namon nga madungog ang imong bililhon nga feedback ug bisan unsang mga tip nga naa kanimo.