logo

Bash While Loop

V tejto téme sme ukázali, ako používať príkaz while v skripte Bash.

The bash while loop možno definovať ako príkaz riadiaceho toku, ktorý umožňuje vykonávať danú množinu príkazov opakovane, pokiaľ sa aplikovaná podmienka vyhodnotí ako pravdivá. Napríklad môžeme buď spustiť príkaz echo mnohokrát, alebo len prečítať textový súbor riadok po riadku a výsledok spracovať pomocou while loop v Bash.

Syntax Bash While Loop

Cyklus Bash while má nasledujúci formát:

statické kľúčové slovo v jazyku Java
 while [ expression ]; do commands; multiple commands; done 

Vyššie uvedená syntax je použiteľná len vtedy, ak výraz obsahuje jednu podmienku.

Ak do výrazu treba zahrnúť viacero podmienok, syntax cyklu while bude nasledovná:

 while [ expressions ]; do commands; multiple commands; done 

Jednoriadkovú syntax cyklu while možno definovať ako:

 while [ condition ]; do commands; done while control-command; do Commands; done 

Existuje niekoľko kľúčových bodov príkazu „while loop“:

  • Pred vykonaním príkazov sa skontroluje stav.
  • Slučka „pričom“ je tiež schopná vykonať všetku prácu, ktorú dokáže vykonať „slučka“.
  • Príkazy medzi 'do' a 'done' sa opakovane vykonávajú, pokiaľ sa podmienka vyhodnotí ako pravdivá.
  • Argumenty pre cyklus „while“ môžu byť boolovský výraz.

Ako to funguje

Cyklus while je slučka s obmedzeným vstupom. Znamená to, že podmienka sa kontroluje pred vykonaním príkazov cyklu while. Ak sa podmienka vyhodnotí ako pravdivá, vykoná sa množina príkazov nasledujúcich za touto podmienkou. V opačnom prípade sa cyklus ukončí a riadenie programu je odovzdané inému príkazu, ktorý nasleduje po príkaze „hotovo“.

Príklady cyklu Bash While

Nasleduje niekoľko príkladov cyklu bash while:

Kým slučka s jedinou podmienkou

V tomto príklade sa slučka while používa s jednou podmienkou vo výraze. Je to základný príklad cyklu while, ktorý vytlačí sériu čísel podľa vstupu používateľa:

Príklad

 #!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -le $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.' 

Výkon

Bash While Loop

Kým slučka s viacerými podmienkami

Nasleduje príklad cyklu while s viacerými podmienkami vo výraze:

Príklad

 #!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -lt $enum || $snum == $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.' 

Výkon

rj12 vs rj11
Bash While Loop

Infinite While Loop

Nekonečná slučka je slučka, ktorá nemá koniec ani ukončenie. Ak sa podmienka vždy vyhodnotí ako pravdivá, vytvorí sa nekonečná slučka. Cyklus bude prebiehať nepretržite, kým nebude násilne zastavený pomocou CTRL+C:

Príklad

 #!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done 

Vyššie uvedený skript môžeme tiež napísať do jedného riadku ako:

 #!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done 

Výkon

Bash While Loop

Tu sme použili vstavaný príkaz (:), ktorý vždy vráti hodnotu true. Môžeme tiež použiť vstavaný príkaz true na vytvorenie nekonečnej slučky, ako je uvedené nižšie:

Príklad

 #!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done 

Tento bash skript tiež poskytne rovnaký výstup ako vyššie uvedený nekonečný skript.

Poznámka: Nekonečné cykly je možné ukončiť pomocou CTRL+C alebo pridaním nejakého podmieneného ukončenia v rámci skriptu.

Kým slučka s príkazom Break

Príkaz break sa môže použiť na zastavenie cyklu podľa použitej podmienky. Napríklad:

Príklad

 #!/bin/bash #While Loop Example with a Break Statement echo 'Countdown for Website Launching...' i=10 while [ $i -ge 1 ] do if [ $i == 2 ] then echo 'Mission Aborted, Some Technical Error Found.' break fi echo '$i' (( i-- )) done 

Výkon

Podľa skriptu je slučke priradená desaťkrát iterovať. Po ôsmich iteráciách však existuje podmienka, ktorá preruší iteráciu a ukončí cyklus. Po vykonaní skriptu sa zobrazí nasledujúci výstup.

Bash While Loop

Kým slučka s príkazom pokračovať

Príkaz continue sa dá použiť na preskočenie iterácie pre konkrétnu podmienku v rámci cyklu while.

java indexof

Príklad

 #!/bin/bash #While Loop Example with a Continue Statement i=0 while [ $i -le 10 ] do ((i++)) if [[ '$i' == 5 ]]; then continue fi echo 'Current Number : $i' done echo 'Skipped number 5 using Continue Statement.' 

Výkon

Bash While Loop

Kým Loop s C-Style

Slučku while môžeme napísať aj v bash skripte podobne ako slučku while v programovacom jazyku C.

Príklad

 #!/bin/bash #While loop example in C style i=1 while((i <= 10)) do echo $i let i++ done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/46/bash-while-loop-6.webp" alt="Bash While Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use while loop statement in Bash to perform specific tasks.</p> <hr></=>