Kaut cikla sintakse:
kamēr [stāvoklis]darīt
komandas
darīts
Sākuma un beigu bloks kamēr cilpa ir definēta ar darīt un darīts atslēgvārdi bash skriptā. Izbeigšanas nosacījums tiek definēts cikla sākumā. Atveriet teksta redaktoru, lai uzrakstītu bash skriptu, un pārbaudiet šādus cilpas piemērus.
1. piemērs: atkārtojiet cilpu noteiktu skaitu reižu
Izveidojiet bash failu ar nosaukumu kamēr1.sh kas satur šādu skriptu.
n=1
kamēr [ $ n -viņi 5 ]
darīt
izmest ārā 'Skriešana$ nlaiks'
((n ++))
darīts
Šajā piemērā cilpa atkārtosies 5 reizes un izdrukās tekstu, kas ir definēts cilpas iekšpusē. Ja palaist, parādīsies šāda izvade kamēr1.sh .
2. piemērs: pārtraukuma paziņojuma izmantošana nosacītai izejai
pārtraukums paziņojums tiek izmantots, lai agri izietu no cilpas, pamatojoties uz konkrētu nosacījumu. Izveidojiet jaunu bash failu ar nosaukumu kamēr2.sh ar šādu kodu.
n=1kamēr [ $ n -viņi 10 ]
darīt
ja [ $ n==6 ]
tad
izmest ārā 'izbeigts'
pārtraukums
būt
izmest ārā 'Pozīcija:$ n'
((n ++))
darīts
Šajā piemērā cilpa tiek deklarēta iterācijai 10 reizes. Saskaņā ar skriptu tas tiks pārtraukts pēc 6 reizes atkārtojuma pārtraukuma paziņojumam. Pēc skripta izpildes parādīsies šāda izvade.
3. piemērs. Paziņojuma turpināšana izmantošana, lai izlaistu konkrētu darbību
Izveidojiet jaunu bash failu ar nosaukumu kamēr3.sh ar šādu kodu.
n=0kamēr [ $ n -viņi 5 ]
darīt
((n ++))
ja [ $ n==3 ]
tad
Turpināt
būt
izmest ārā 'Pozīcija:$ n'
darīts
Šajā piemērā cilpa atkārtosies 5 reizes, bet netiks izdrukātas visas 5 pozīcijas. Kad cilpa atkārtosies 3rdreizes, tad izpildīšanas paziņojums tiks izpildīts, un cikls tiks veikts nākamajā iterācijā, nedrukājot 3 teksturdpozīciju. Pēc skripta izpildes parādīsies šāda izvade.
4. piemērs: bezgalīgas cilpas izveide
Dažreiz dažādu programmēšanas nolūkos ir jāpaziņo par bezgalīgu cilpu. Izveidojiet jaunu bash failu ar nosaukumu kamēr4.sh un pārbaudiet bezgalīgās cilpas kodu.
n=1kamēr:
darīt
printf 'Pašreizējā vērtība n =$ n n'
ja [ $ n==3 ]
tad
izmest ārā 'labs'
elifs [ $ n==5 ]
tad
izmest ārā 'slikti'
elifs [ $ n==7 ]
tad
izmest ārā 'neglīts'
elifs [ $ n==10 ]
tad
Izeja 0
būt
((n ++))
darīts
Šajā piemērā cilpai nav iestatīts izbeigšanas nosacījums. Šāda veida cilpas sauc par bezgalīgu cilpu. Šeit izejas paziņojums tiek izmantots, lai izietu no bezgalīgās cilpas. Tātad, šī cilpa tiks atkārtota 10 reizes, un, ja iterācijas vērtība kļūs vienāda ar 10, izejas paziņojums tiks izpildīts, lai izietu no bezgalīgās cilpas.