Esi edee Bash WHILE-Loops

Iwu, Syntax, na Ihe Nlereanya

Ị nwere ike ime usoro nke iwu site na ịde ha n'ime faịlụ edemede wee gbanye ya.

Nchịkọta faịlụ bụ nanị ederede ederede, na - ejikarị ndọtị faịlụ .SH, nke nwere usoro ntụziaka nke a pụkwara igbu site na akara ( shei ).

Ọ bụ ihe atụ ndị nkedo

N'okpuru ebe a bụ ihe atụ nke a mgbe aka. Mgbe e gburu, faịlụ akwukwọ a ga-ebipụta nọmba 1 site na 9 na ihuenyo. Ogologo oge ahụ na-enye gị ohere mgbanwe karịa ịkọ ọnọdụ njedebe karịa nke na -emechi .

#! / bin / bash count = 1 while [$ count-9] na-aza "$ count" ụra 1 ((ọnụ ++)) mere

Dịka ọmụmaatụ, ị nwere ike ịmepụta edemede mbụ na njedebe na-enweghị ngwụcha site na ịhapụ ozi ntinye "((count ++))":

#! / bin / bash count = 1 while [$ count-9] na-azaghachi "ụla $" ụra 1 mere

Okwu "ụra" 1 kwụsịrị igbu ya maka nkeji abụọ na nke ọ bụla. Jiri Ctrl + C keyboard obere ụzọ iji kwụsị usoro.

I nwekwara ike ịmepụta otu njedebe na-enweghị ngwụcha site n'itinye otu colon dị ka ọnọdụ:

#! / bin / bash count = 1 mgbe: mechie "$ count" ụra 1 ((ọnụ ++)) mere

Iji jiri ọnọdụ dị iche iche mee ihe mgbe ị na-ejigide, ị ga-eji nkedo nkwado aka abụọ:

count = 1 done = 0 while [[$ count-9] && [$ done == 0]] na-aza "$ count" ụra 1 ((ọnụ ++) ma ọ bụrụ na [$ count == 5]; mgbe $ mere = 1 fi mere

Na edemede a, a gbanyere agbanwe agbanwe "eme" na 0 ma debe ya na 1 mgbe ọnụọgụ ahụ ruru 5. Ọdịdị aka ejiri aka na-ekwu na mgbe akaghị aka ga-anọgide ruo ogologo oge dị ka "ọnụ ọgụgụ" dịka itoolu ma "eme" dị nhata. ka efu. N'ihi ya, loops na-apụ mgbe ọnụ ghatara 5.

The "&" pụtara ihe ezi uche dị na "na" na "||" pụtara pụtara "ma ọ bụ".

Ntugharị ọzọ maka njikọ "na" na "ma ọ bụ" na ọnọdụ bụ "-a" na "-o" na brackets square. Ọnọdụ dị n'elu:

[[ọnụ ọgụgụ-9] & $ [$ mere == 0]]

... nwere ike ideghari dika:

[$ ọnụ-9] -a [$ mere == 0]

Ị na-agụ otu faịlụ ederede na mgbe ị na-arụ ọrụ. N'ihe atụ na-esonụ, akwukwo bash na-agụ ndepụta site na akara nke faịlụ a na-akpọ "inventory.txt:"

FILE = inventory.txt exec 6

Ahịrị nke mbụ nyere aha faịlụ ntinye aka na "FILE" agbanwe. Ahịrị nke abụọ na-echekwa "ndenye ntinye" na nchịkọta faịlụ "6" (ọ nwere ike ịba uru n'etiti 3 na 9). A na-eme nke a ka a wee weghachite "ndenye ntinye" na faịlụ descriptor "0" na njedebe nke edemede ahụ (lee nkwupụta "exec 0 Na akara nke 3, a kenyere faịlụ faịlụ maka faịlụ faịlụ" 0, "nke a na-eji maka ndenye ntanetị. "Ozi" gụrụ "ahụ gụpụtara akara site na faịlụ na nyocha ọ bụla ma nyefee ya na mgbanwe" line1 ".

Ka ịghara ịpụ na-apụtaghị oge, ị nwere ike iji nkwupụta ezumike dị ka nke a:

count = 1 done = 0 while [$ count-9] do "$ count" ụra 1 ((ọnụ ọgụgụ ++)) ma ọ bụrụ na [$ count == 5] wee gbajie ka emechara emecha

Nkwupụta okwu ezumike ahụ na-eme ka mmegbu nke usoro ahụ kwụsị ruo mgbe ejiri aka ma mee ihe ọ bụla na-eso ya. Na nke a, nkwupụta "nkwụsịghachi mechara."

Nkwupụta na-aga n'ihu, n'akụkụ aka nke ọzọ, na-agba ọsọ naanị nke nkwupụta ụda nke ọkwa ugbu a ma na-awụnye aka ozugbo na nchịkọta ọzọ:

count = 1 done = 0 while [$ count-9] na-ehi ụra 1 ((ọnụ ọgụgụ ++)) ma ọ bụrụ na [$ count == 5] wee gaa n'ihu na-akwụghachi "ọnụ ọgụgụ $" ọnụ.

N'okwu a, a na-eme ka nkwupụta okwu ahụ "na-aga n'ihu" gbanwee ma ọ bụrụ na mgbanwe "gụọ" ahụ ruru 5. Nke a pụtara na ekwughị okwu na-esonụ (nkwughachi "$ count") na nhọta a (mgbe uru nke "ọnụ" dị 5).