Otu esi eji ruo mgbe Loop na Scripts Shell gị


Na bash maka, mgbe, na ruo mgbe a na-arụ akaghị atọ. Ọ bụ ezie na loop ọ bụla na-adị iche na syntactically na arụ ọrụ ebumnuche ha bụ imegharị n'elu ngọngọ nke koodu mgbe a na-enyocha ụfọdụ okwu.

Ruo mgbe a ga-eji loop mebie ngọngọ koodu ruo mgbe enyochala okwu ahụ dị ka ụgha. Nke a bụ kpọmkwem ihe megidere akaghị nwa oge. Mgbe loop na-agba koodu ngọngọ mgbe okwu ahụ bụ eziokwu na ruo mgbe loop na-eme ihe na-abụghị.

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

Ka anyị kwatuo syntax.

  • I malite loop ị ga-eji ruo mgbe mkpụrụokwu ga-esochi okwu n'ime otu nkwado ma ọ bụ okpukpu abụọ.
  • Ekwesịrị ịtụle okwu a dị ka ụgha ruo mgbe ịmalite ịgbasa koodu ngọngọ.
  • Edobere koodu n'ezie n'etiti ime na eme.

N'ime edemede a dị mkpirikpi, ị ga-amụta ka esi eji ruo mgbe loop na ederede shei gị site na iji ihe atụ ndị a.

Mepụta loop na-enweghị ngwụcha na scripts

Ị nwere ike ịmepụta loop enweghị ngwụcha site na iji nkwupụta ụgha dịka nkwupụta. Mgbe ị na-agbalị ịmegharị loops enweghi ngwụcha gbalịa iji ụra nke ga-agafe edemede ahụ kwa oge.

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

Mepụta nkwupụta ahịrị otu

Ị nwere ike ịmepụta nkwupụta loop otu ahịrị. Lelee koodu dị n'okpuru ebe a. Nke a bụ otu ihe atụ akaghị ngwụcha mbụ anyị mana n'otu ahịrị. N'ebe a, ị ga-eji obere akara (;) kwụsị nkwupụta ọ bụla.

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

Jiri nkwụsịtụ gbanwee Flow wee gaa n'ihu na nkwupụta

Ị nwere ike iji nkwụsịtụ wee gaa n'ihu na nkwupụta n'ime mgbe ị na-akụ. Nkwupụta nkwụsịtụ ahụ ga-apụ na akaghị aka wee nyefee njikwa ahụ na nkwupụta na-esote mgbe nkwupụta na-aga n'ihu ga-awụpụ ihe dị ugbu a wee malite ịmalite ọzọ na akaghị.

Ana m eji otu ihe atụ loop enweghị ngwụcha. N'ebe a mgbe ọnụ ọgụgụ ha nhata na nkwupụta n'ihu ise ga-awụlikwa elu n'ọzọ iteration na-awụpụ ahụ ndị ọzọ. N'otu aka ahụ, loop na-agbaji mgbe ọnụọgụ ahụ hà nhata ma ọ bụ karịa 10.

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

Nke ahụ bụ maka akụkọ a. Anyị ga-ejide gị akụkọ ọzọ na-atọ ụtọ n'oge na-adịghị anya 'ruo mgbe' ga-anọgide na-agụ ma nọgide na-akwado anyị.