Syntax cyklu while:
kým [podmienkou]urobiť
príkazy
hotový
Začiatočný a koncový blok súboru kým slučka sú definované urobiť a hotový kľúčové slová v bash skripte. Podmienka ukončenia je definovaná na začiatku slučky. Otvorte textový editor a napíšte bash skript a vyskúšajte nasledujúce príklady slučiek.
Príklad 1: Iterujte slučku pre pevný počet opakovaní
Vytvorte bash súbor s názvom while1.sh ktorý obsahuje nasledujúci skript.
n=1
kým [ $ n -ten 5 ]
urobiť
zahodil 'Beží$ nčas '
((n ++))
hotový
V tomto prípade bude slučka opakovať 5 krát a vytlačí text, ktorý je definovaný vo vnútri slučky. Ak spustíte, zobrazí sa nasledujúci výstup while1.sh .
Príklad 2: Použitie príkazu break na podmienené ukončenie
prestávka príkaz sa používa na predčasné opustenie slučky na základe konkrétnej podmienky. Vytvorte nový súbor bash s názvom while2.sh s nasledujúcim kódom.
n=1kým [ $ n -ten 10 ]
urobiť
keby [ $ n==6 ]
potom
zahodil „ukončené“
prestávka
byť
zahodil 'Pozícia:$ n'
((n ++))
hotový
V tomto prípade je slučka deklarovaná na opakovanie 10 krát. Podľa skriptu sa ukončí po 6 -krát iterácii pre príkaz break. Po spustení skriptu sa zobrazí nasledujúci výstup.
Príklad 3: Použitie príkazu continue na vynechanie konkrétneho kroku
Vytvorte nový súbor bash s názvom while3.sh s nasledujúcim kódom.
n=0kým [ $ n -ten 5 ]
urobiť
((n ++))
keby [ $ n==3 ]
potom
ďalej
byť
zahodil 'Pozícia:$ n'
hotový
V tomto prípade sa slučka opakuje 5 -krát, ale nevytlačí všetkých 5 polôh. Keď sa slučka bude opakovať 3rdkrát sa potom vykoná príkaz continue a slučka prejde na ďalšiu iteráciu bez vytlačenia textu z 3rdpozíciu. Po spustení skriptu sa zobrazí nasledujúci výstup.
Príklad-4: Vytvorenie nekonečnej slučky
Niekedy je na rôzne účely programovania potrebné deklarovať nekonečnú slučku. Vytvorte nový súbor bash s názvom while4.sh a otestujte kód nekonečnej slučky.
n=1kým:
urobiť
printf „Aktuálna hodnota n =$ n n'
keby [ $ n==3 ]
potom
zahodil 'dobrý'
elif [ $ n==5 ]
potom
zahodil 'zlý'
elif [ $ n==7 ]
potom
zahodil 'škaredý'
elif [ $ n==10 ]
potom
východ 0
byť
((n ++))
hotový
V tomto prípade nie je pre slučku nastavená žiadna podmienka ukončenia. Tento typ slučky sa nazýva nekonečná slučka. Tu sa príkaz exit používa na ukončenie z nekonečnej slučky. Táto slučka sa teda bude iterovať 10 -krát a keď sa hodnota iterácie stane rovnou 10, potom sa na opustenie nekonečnej slučky vykoná príkaz exit.