Hvernig á að nota þar til lykkja í skel forskriftunum þínum
Í bash fyrir, á meðan og þar til eru þrjár lykkjur. Þó að hver lykkja sé ólík setningafræðilega og virknilega er tilgangur þeirra að endurtaka yfir kóðablokk þegar ákveðin tjáning er metin.
Until lykkja er notuð til að keyra kóðablokk þar til tjáningin er metin sem röng. Þetta er nákvæmlega andstæðan við while lykkju. While loop keyrir kóðablokkina á meðan tjáningin er sönn og þar til lykkja gerir hið gagnstæða.
until [ expression ] do code block ... ... done
Við skulum brjóta niður setningafræðina.
- Til að hefja lykkjuna ættir þú að nota þar til leitarorð og síðan tjáning innan einfaldra eða tvöfalda svigrúma.
- Sjáningin ætti að vera metin sem ósönn þar til byrjað er að keyra kóðablokkina.
- Raunverulegur kóðablokk er settur á milli gera og gert.
Í þessari stuttu grein muntu læra hvernig á að nota þar til lykkja í skeljaforskriftunum þínum með því að nota eftirfarandi dæmi.
Búðu til óendanlega lykkju í skriftum
Þú getur búið til óendanlega lykkju með því að nota ranga staðhæfingu sem tjáningu. Þegar þú reynir að líkja eftir óendanlegum lykkjum reyndu að nota svefn sem mun standast handritið reglulega.
count=0 until false do echo "Counter = $count" ((count++)) sleep 2 done
Búðu til einlínuyfirlýsingar
Þú getur búið til einlínu lykkjuyfirlýsingar. Skoðaðu kóðann hér að neðan. Þetta er það sama og fyrsta óendanlega lykkja dæmið okkar en í einni línu. Hér þarftu að nota semíkommu (;)
til að binda enda á hverja setningu.
# until false; do echo "Counter = $count"; ((count++)); sleep 2; done
Breyttu flæði með broti og haltu áfram yfirlýsingu
Þú getur notað hlé og haldið áfram yfirlýsingum inni í while lykkju. Brot setningin mun fara út úr lykkjunni og mun senda stjórnina í næstu setningu á meðan halda áfram setningin mun sleppa núverandi endurtekningu og hefja næstu endurtekningu í lykkjunni.
Ég er að nota sama óendanlega lykkju dæmið. Hér þegar talningin er jöfn fimm mun halda áfram að hoppa yfir í næstu endurtekningu og sleppa restinni af lykkjuhlutanum. Á sama hátt slitnar lykkjan þegar fjöldinn er jafn eða meiri en 10.
count=0 until false do ((count++)) if [[ $count -eq 5 ]] then continue elif [[ $count -ge 10 ]] then break fi echo "Counter = $count" done
Það er það fyrir þessa grein. Við munum ná þér með annarri áhugaverðri grein fljótlega „þar til“, haltu áfram að lesa og haltu áfram að styðja okkur.