Kaip naudoti iki „Shell“ scenarijų ciklo
Bash for, while ir tol yra trys kilpos konstrukcijos. Nors kiekviena kilpa skiriasi sintaksiniu ir funkciniu požiūriu, jų tikslas yra kartoti kodo bloką, kai yra įvertinta tam tikra išraiška.
Kol ciklas naudojamas kodo blokui vykdyti, kol išraiška nebus įvertinta. Tai yra visiškai priešinga tam tikro laiko kilpai. Nors kilpa vykdo kodo bloką, o išraiška yra teisinga, o kol ciklas daro priešingai.
until [ expression ] do code block ... ... done
Išskaidykime sintaksę.
- Norėdami pradėti kilpą, turėtumėte naudoti, kol raktinis žodis, po kurio eina išraiška viengubuose arba dvigubuose petnešose.
- Išraiška turėtų būti įvertinta kaip klaidinga, kol bus pradėtas vykdyti kodų blokas.
- Faktinis kodo blokas yra tarp atlikimo ir atlikimo.
Šiame trumpame straipsnyje sužinosite, kaip naudoti „shell“ jūsų „shell“ scenarijuose, naudodamiesi šiais pavyzdžiais.
Sukurkite begalinę scenarijų kilpą
Galite sukurti begalinę kilpą, naudodami klaidingą teiginį kaip išraišką. Kai bandote imituoti begalines kilpas, pabandykite naudoti miego režimą, kuris periodiškai perduos scenarijų.
count=0 until false do echo "Counter = $count" ((count++)) sleep 2 done
Sukurkite vienos eilutės pareiškimus
Galite sukurti vienos eilutės ciklo sakinius. Pažvelkite į žemiau pateiktą kodą. Tai tas pats, kas mūsų pirmasis begalinis ciklo pavyzdys, bet vienoje eilutėje. Kiekvienam teiginiui nutraukti turite naudoti kabliataškį (;)
.
# until false; do echo "Counter = $count"; ((count++)); sleep 2; done
Pakeiskite srautą su pertrauka ir tęskite pareiškimą
Galite naudoti pertrauką ir tęsti teiginius, o ciklo metu. Pertraukos sakinys išeis iš ciklo ir perduos valdiklį kitam sakiniui, o tęsinio sakinys praleis dabartinę iteraciją ir pradės kitą iteraciją cikle.
Aš naudoju tą patį begalinio ciklo pavyzdį. Čia, kai skaičius bus lygus penkioms tęsti, pereisite prie kitos iteracijos, praleisdami likusį kilpos kūną. Panašiai kilpa nutrūksta, kai skaičius yra lygus 10 ar didesnis.
count=0 until false do ((count++)) if [[ $count -eq 5 ]] then continue elif [[ $count -ge 10 ]] then break fi echo "Counter = $count" done
Tai šiam straipsniui. Netrukus sulauksime dar vieno įdomaus straipsnio ‘iki’, tada skaityk ir palaikyk mus.