Syntaxe cyklu while:
zatímco [stav]dělat
příkazy
Hotovo
Počáteční a koncový blok zatímco smyčka jsou definovány pomocí dělat a Hotovo klíčová slova v bash skriptu. Podmínka ukončení je definována na začátku smyčky. Otevřete textový editor a napište bash skript a vyzkoušejte následující příklady smyčky.
Příklad-1: Opakujte smyčku pro pevný počet opakování
Vytvořte bash soubor s názvem while1.sh který obsahuje následující skript.
n=1
zatímco [ $ n -ten 5 ]
dělat
vyhodil 'Běh$ nčas'
((n ++))
Hotovo
V tomto případě bude smyčka 5krát opakovat a vytiskne text, který je definován uvnitř smyčky. Pokud spustíte, zobrazí se následující výstup while1.sh .
Příklad-2: Použití příkazu break pro podmíněné ukončení
přestávka příkaz se používá k předčasnému ukončení smyčky na základě konkrétní podmínky. Vytvořte nový bash soubor s názvem while2.sh s následujícím kódem.
n=1zatímco [ $ n -ten 10 ]
dělat
-li [ $ n==6 ]
pak
vyhodil 'ukončeno'
přestávka
být
vyhodil 'Pozice:$ n'
((n ++))
Hotovo
V tomto případě je smyčka deklarována k opakování 10krát. Podle skriptu skončí po 6násobné iteraci pro příkaz break. Po spuštění skriptu se zobrazí následující výstup.
Příklad 3: Použití příkazu continue k vynechání konkrétního kroku
Vytvořte nový bash soubor s názvem while3.sh s následujícím kódem.
n=0zatímco [ $ n -ten 5 ]
dělat
((n ++))
-li [ $ n==3 ]
pak
pokračovat
být
vyhodil 'Pozice:$ n'
Hotovo
V tomto případě bude smyčka iterovat 5krát, ale nevytiskne všech 5 pozic. Kdy bude smyčka iterovat 3rdčasy, pak bude proveden příkaz continue a smyčka přejde na další iteraci bez vytištění textu 3rdpozice. Po spuštění skriptu se zobrazí následující výstup.
Příklad-4: Vytvoření nekonečné smyčky
Někdy je pro různé účely programování nutné deklarovat nekonečnou smyčku. Vytvořte nový bash soubor s názvem while4.sh a otestujte kód nekonečné smyčky.
n=1zatímco:
dělat
printf 'Aktuální hodnota n =$ n n'
-li [ $ n==3 ]
pak
vyhodil 'dobrý'
elif [ $ n==5 ]
pak
vyhodil 'špatný'
elif [ $ n==7 ]
pak
vyhodil 'škaredý'
elif [ $ n==10 ]
pak
výstup 0
být
((n ++))
Hotovo
V tomto případě není pro smyčku nastavena žádná podmínka ukončení. Tento typ smyčky se nazývá nekonečná smyčka. Zde se příkaz exit používá k ukončení z nekonečné smyčky. Tato smyčka se tedy bude opakovat 10krát a když se hodnota iterace stane rovnou 10, pak se pro ukončení z nekonečné smyčky provede příkaz exit.