Giunsa Paggamit hangtod sa Loop sa Imong Shell Scripts


Sa bash alang sa, samtang, ug hangtod adunay tulo nga mga pagtukod sa loop. Samtang ang matag loop lahi sa syntactically ug functional ang ilang katuyoan mao ang pag-uli sa usa ka bloke sa code kung ang usa ka piho nga ekspresyon gisusi.

Hangtud nga gigamit ang loop aron ipatuman ang usa ka bloke sa code hangtod masusi ang ekspresyon nga bakak. Kini mao gayud ang kaatbang sa usa ka samtang loop. Samtang ang loop nagpadagan sa code block samtang ang ekspresyon tinuod ug hangtod nga ang loop mobuhat sa kaatbang.

until [ expression ]
do
	code block
	...
	...
done

Atong gub-on ang syntax.

  • Aron masugdan ang loop kinahanglan nimong gamiton hangtod sa keyword nga sundan sa usa ka ekspresyon sulod sa usa o dobleng braces.
  • Kinahanglang i-evaluate ang ekspresyon nga dili tinuod hangtod nga magsugod sa pagpadagan sa code block.
  • Ang aktuwal nga bloke sa kodigo gibutang taliwala sa pagbuhat ug nahimo.

Niining mubo nga artikulo, makakat-on ka kung unsaon paggamit hangtod sa pag-loop sa imong mga script sa shell gamit ang mosunod nga mga pananglitan.

Paghimo og Walay Kinutuban nga Loop sa mga Script

Makahimo ka og walay kinutuban nga loop gamit ang bakak nga pahayag isip ekspresyon. Kung gisulayan nimo nga i-simulate ang walay katapusan nga mga loop sulayi nga gamiton ang pagkatulog nga mopasa sa script matag karon ug unya.

count=0
until false
do
	echo "Counter = $count"
	((count++))
	sleep 2
done

Paghimo Usa ka Linya nga Pahayag

Makahimo ka og single-line loop statements. Tan-awa ang code sa ubos. Parehas kini sa among una nga wala’y katapusan nga pananglitan sa loop apan sa usa ka linya. Dinhi kinahanglan nimong gamiton ang semicolon (;) aron tapuson ang matag pahayag.

# until false; do echo "Counter = $count"; ((count++)); sleep 2; done

Usba ang Daloy nga adunay break ug ipadayon ang Pahayag

Mahimo nimong gamiton ang usa ka break ug ipadayon ang mga pahayag sa sulod while loop. Ang pahayag sa break mogawas gikan sa loop ug ipasa ang kontrol sa sunod nga pahayag samtang ang pagpadayon nga pahayag molaktaw sa karon nga pag-uli ug magsugod sa sunod nga pag-uli sa loop.

Gigamit nako ang parehas nga wala’y katapusan nga pananglitan sa loop. Dinhi kung ang ihap katumbas sa lima nga magpadayon nga pahayag molukso sa sunod nga pag-uli nga laktawan ang nahabilin nga lawas sa loop. Sa susama, ang loop mabuak kung ang ihap katumbas o labaw pa sa 10.

count=0
until false
do
  ((count++))
  if [[ $count -eq 5 ]]
  then
    continue
  elif [[ $count -ge 10 ]]
  then
    break
  fi
  echo "Counter = $count"
done

Mao kana alang niini nga artikulo. Dakpon ka namo sa laing makapaikag nga artikulo sa dili madugay 'hangtod' dayon ipadayon ang pagbasa ug padayon nga suportahan kami.