Kai ciklo sintaksė:
tuo tarpu [būklė]daryti
komandas
padaryta
Pradžios ir pabaigos blokas tuo tarpu kilpa apibrėžiama pagal daryti ir padaryta raktažodžius bash scenarijuje. Baigimo sąlyga apibrėžiama ciklo pradžioje. Atidarykite teksto rengyklę, kad parašytumėte „bash“ scenarijų, ir išbandykite šiuos ciklo pavyzdžius.
1 pavyzdys: pakartokite kilpą fiksuotą skaičių kartų
Sukurkite bash failą pavadinimu o1.sh kuriame yra toks scenarijus.
n=1
tuo tarpu [ $ n -jie 5 ]
daryti
išmetė 'Bėgimas$ nlaikas'
((n ++))
padaryta
Šiame pavyzdyje kilpa kartosis 5 kartus ir spausdins tekstą, apibrėžtą ciklo viduje. Jei paleisite, pasirodys ši išvestis o1.sh .
2 pavyzdys: pertraukos sakinio naudojimas sąlyginiam išėjimui
pertrauka teiginys naudojamas išeiti iš ciklo anksčiau, atsižvelgiant į tam tikrą sąlygą. Sukurkite naują bash failą pavadinimu tuo tarpu2.sh su šiuo kodu.
n=1tuo tarpu [ $ n -jie 10 ]
daryti
jei [ $ n==6 ]
tada
išmetė 'nutraukta'
pertrauka
būti
išmetė „Pozicija:$ n'
((n ++))
padaryta
Šiame pavyzdyje kilpa deklaruojama kartoti 10 kartų. Pagal scenarijų jis bus nutrauktas po 6 kartų pertraukos sakinio kartojimo. Įvykdžius scenarijų pasirodys ši išvestis.
3 pavyzdys: sakinio „Tęsti“ naudojimas tam tikram žingsniui praleisti
Sukurkite naują bash failą pavadinimu tuo tarpu3.sh su šiuo kodu.
n=0tuo tarpu [ $ n -jie 5 ]
daryti
((n ++))
jei [ $ n==3 ]
tada
Tęsti
būti
išmetė „Pozicija:$ n'
padaryta
Šiame pavyzdyje kilpa kartosis 5 kartus, bet nespausdins visų 5 pozicijų. Kai kilpa kartosis 3rdkartų, tada bus vykdomas tęsinys, o ciklas eis kitai iteracijai, nespausdindamas 3 tekstordpoziciją. Įvykdžius scenarijų pasirodys ši išvestis.
4 pavyzdys: begalinės kilpos kūrimas
Kartais įvairiems programavimo tikslams reikia deklaruoti begalinę kilpą. Sukurkite naują bash failą pavadinimu tuo tarpu4.sh ir išbandykite begalinės kilpos kodą.
n=1tuo tarpu:
daryti
printf „Dabartinė vertė n =$ n n'
jei [ $ n==3 ]
tada
išmetė 'Gerai'
elifas [ $ n==5 ]
tada
išmetė 'blogai'
elifas [ $ n==7 ]
tada
išmetė 'bjaurus'
elifas [ $ n==10 ]
tada
išeiti 0
būti
((n ++))
padaryta
Šiame pavyzdyje kilpa nenustatyta. Šio tipo kilpa vadinama begaline kilpa. Čia išeities sakinys naudojamas išeiti iš begalinės kilpos. Taigi, ši kilpa bus kartojama 10 kartų ir kai iteracijos reikšmė taps lygi 10, išėjimo sakinys bus vykdomas norint išeiti iš begalinės kilpos.