Me pehea te tuhi i te Bash WHILE-koropiko

Nga Tohutohu, Nga Tohu, me nga Tauira

Ka taea e koe te mahi i te raupapa o nga whakahau na roto i te tuhi ia ratou ki roto i te kōnae hōtuhi me te rere i te reira.

He kōnae kuputuhi he kōnae kuputuhi noa, me te whakawhitinga kōnae .H, kei roto he raupapa o nga tohutohu ka taea hoki te whakakore i te raina whakahau ( anga ).

Ahakoa he tauira hika

Kei raro nei he tauira o te waahi. Ina oti, ka tuhia e tenei kōnae hōtuhi nga tau 1 ki te 9 i runga i te mata. Ko te korero-kaore e whakaratohia e koe te kaha ake mo te whakatau i te ahua o te whakamutu i te waa-papa .

#! / bin / bash count = 1 i te [$ count-9] ka whakahuahia te "$ count" moe 1 ((count ++)) kua oti

Hei tauira, ka taea e koe te tuhi i te tuhinga tawhito he mahinga mutungakore ma te whakakore i te korero whakahirahira "((count ++))":

#! / bin / bash count = 1 i [$ count -le 9] echo "$ count" moe 1 mahi

Ko te korero mo te "moe 1" ka mutu te mahi mo te 1 tau i runga i ia waahanga. Whakamahia te pokatata keyboard Ctrl + C ki te whakamutu i te tukanga.

Ka taea hoki e koe te hanga i tetahi mahinga mure ore ma te waiho i te koroni hei ahua:

#! / bin / bash count = 1 i te wa: tohua te "$ count" moe 1 ((count ++))

Hei whakamahi i nga tikanga maha i roto i te wa-papa, me whakamahi koe i te tuhi tapahi tapawha rua:

count = 1 made = 0 while [[$ count -le 9] & [$ done == 0]] echo "$ count" moe 1 ((count ++) ki te [$ count == 5]; ka $ a = 1 kua oti

I roto i tenei tuhinga, ka timata te taurangi "mahi" ki te 0, ka tautuhia ki te 1 ka tae te tatau ki te 5. Ko te ahua o te kaokao kei te haere tonu ka roa tonu te "count" kei te iti iho i te iwa me te "mahi" ki te kore. Na reira ka puta nga koropiko i te wa e rite ana te tatau ki te 5.

Ko te "&" ko te tikanga "me" me te "||" te tikanga tika "ranei".

Ko tetahi atu tohu mo nga waahi "me" me "ranei" i roto i nga tikanga ko "-a" me "-o" me te mau tapawha tapawha kotahi. Ko te tikanga ake:

[[$ count-9] & [$ done == 0]]

... ka taea te tuhi ano hei:

[$ count -le 9] -a [$ done == 0]

Ko te panui i tetahi kōnae kuputuhi ka mahihia i te wa e mahi ana. I roto i te tauira e whai ake nei, ka tuhia e te tuhinga tuhi te ahorangi i te raina o te kōnae e karangatia ana ko "inventory.txt:"

FILE = inventory.txt exec 6

Ko te raina tuatahi e tohu ana i te ingoa kōnae whakauru ki te taurangi "FILE". Ko te raina tuarua e whakaora ana i te "paerewa paerewa" i roto i te kaituhi kōnae "6" (he pai tetahi i waenganui i te 3 me te 9). Ka taea tenei ki te tuku i te kaituhi "0" i te mutunga o te tuhinga (tirohia te korero "exec 0 I te raina tuatoru ka tohua te kōnae whakauru ki te tuku i te kaituhi" 0, "e whakamahia ana mo te whakauru paerewa. Ka panui te korero "panui" i te raina mai i te kōnae i ia waahanga me te tuku ki te taurangi "line1".

Kia kore ai e puta wawe i te waahi, ka taea e koe te whakamahi i te korero pakaru penei:

count = 1 made = 0 while [$ count -le 9] echo "$ count" moe 1 ((count ++)) ki te [$ count == 5] ka tukuruatia te mahi echo kua oti.

Ko te korero pakaru e whakakore ana i te whakaritenga o te papatono ki te mutunga i te waahi me te whakahaere i nga korero e whai ake nei. I roto i tenei take, ko te korero "kaore kua oti."

Ko te korero tonu, i tetahi atu ringa, ka peke i te toenga o te korero i roto i te mahinga o te whakamaanga o tenei wa, me te pupuhi tika ki te waahanga o muri mai:

count = 1 made = 0 while [$ count -le 9] moe 1 ((count ++)) ki te [$ count == 5] ka haere tonu te rekoata "$ count" i te whakaoti kua oti.

I roto i tenei take, ko te korero "haere tonu" kei te mahi i te wa e paahitia ai te "taurangi" ki te 5. Ko tenei ko te korero o muri (kaore te "$ count") e whakatutukihia i runga i tenei waahanga (ina ko te uara o te "tatau" he 5).