A while ciklus szintaxisa:
míg [állapot]tedd
parancsokat
Kész
A kezdő és befejező blokk míg hurok határozza meg tedd és Kész kulcsszavakat bash scriptben. A befejezési feltételt a ciklus elején határozzák meg. Nyisson meg egy szövegszerkesztőt a bash parancsfájl írásához, és tesztelje a következő, miközben ciklusos példákat.
1. példa: Ismételje meg a hurkot rögzített számú alkalommal
Hozzon létre egy bash fájlt míg1.sh amely a következő szkriptet tartalmazza.
n=1
míg [ $ n -az 5 ]
tedd
kidobta 'Futás$ nidő'
((n ++))
Kész
Ebben a példában a ciklus 5 -ször ismétlődik, és kinyomtatja a ciklusban meghatározott szöveget. Futtatáskor a következő kimenet jelenik meg míg1.sh .
2. példa: Break utasítás használata feltételes kilépéshez
szünet utasítás egy adott feltétel alapján korán kilép a hurokból. Hozzon létre egy új bash fájlt míg2.sh a következő kóddal.
n=1míg [ $ n -az 10 ]
tedd
ha [ $ n==6 ]
azután
kidobta 'megszűnt'
szünet
lenni
kidobta 'Pozíció:$ n'
((n ++))
Kész
Ebben a példában a ciklus 10 -szeres iterációra van deklarálva. A szkript szerint a break utasítás 6 -szoros iterációja után leáll. A szkript végrehajtása után a következő kimenet jelenik meg.
3. példa: A folytatás utasítás használata az adott lépés kihagyására
Hozzon létre egy új bash fájlt míg3.sh a következő kóddal.
n=0míg [ $ n -az 5 ]
tedd
((n ++))
ha [ $ n==3 ]
azután
folytatni
lenni
kidobta 'Pozíció:$ n'
Kész
Ebben a példában a ciklus ötször ismétlődik, de nem nyomtatja ki mind az 5 pozíciót. Amikor a ciklus 3 -ig ismétlődikrdalkalommal, majd a folytatás utasítás lesz végrehajtva, és a ciklus a következő iterációra megy a 3 szöveg kinyomtatása nélkülrdpozíció. A szkript végrehajtása után a következő kimenet jelenik meg.
4. példa: Végtelen ciklus létrehozása
Néha végtelen ciklus deklarálása szükséges különböző programozási célokra. Hozzon létre egy új bash fájlt míg4.sh és tesztelje a végtelen ciklus kódját.
n=1míg:
tedd
printf 'A jelenlegi értéke n =$ n n'
ha [ $ n==3 ]
azután
kidobta 'jó'
elif [ $ n==5 ]
azután
kidobta 'rossz'
elif [ $ n==7 ]
azután
kidobta 'csúnya'
elif [ $ n==10 ]
azután
kijárat 0
lenni
((n ++))
Kész
Ebben a példában nincs lezárási feltétel beállítva a hurokhoz. Ezt a típusú hurkot végtelen ciklusnak nevezzük. Itt az exit utasítást használjuk a kilépéshez a végtelen ciklusból. Tehát ez a ciklus 10 -szer iterálódik, és amikor az iterációs érték egyenlő lesz 10 -el, akkor az exit utasítás végrehajtódik a végtelen ciklusból való kilépéshez.