Ebben a témakörben bemutattuk, hogyan kell használni a while ciklus utasítást a Bash Scriptben.
A bash while ciklus vezérlőfolyamat utasításként definiálható, amely lehetővé teszi az adott parancskészlet ismételt végrehajtását mindaddig, amíg az alkalmazott feltétel igazra értékelődik. Például sokszor futtathatjuk az echo parancsot, vagy csak soronként olvashatunk egy szöveges fájlt, és az eredményt a while ciklus használatával dolgozhatjuk fel a Bashban.
A Bash While Loop szintaxisa
A Bash while ciklus a következő formátumú:
Rekha színész
while [ expression ]; do commands; multiple commands; done
A fenti szintaxis csak akkor alkalmazható, ha a kifejezés egyetlen feltételt tartalmaz.
Ha több feltétel is szerepel a kifejezésben, akkor a while ciklus szintaxisa a következő lesz:
while [ expressions ]; do commands; multiple commands; done
A while ciklus egysoros szintaxisa a következőképpen definiálható:
while [ condition ]; do commands; done while control-command; do Commands; done
A „while loop” utasításnak van néhány kulcsfontosságú pontja:
- A feltétel ellenőrzése a parancsok végrehajtása előtt történik.
- A 'while' hurok is képes minden olyan munka elvégzésére, mint a 'loop' esetében.
- A „do” és a „done” közötti parancsok ismételten végrehajtásra kerülnek mindaddig, amíg a feltétel igaz.
- A 'while' ciklus argumentumai logikai kifejezések is lehetnek.
Hogyan működik
A while ciklus egy korlátozott belépési hurok. Ez azt jelenti, hogy a feltétel ellenőrzésre kerül a while ciklus parancsainak végrehajtása előtt. Ha a feltétel kiértékelése igaz, akkor a feltételt követő parancskészlet végrehajtásra kerül. Ellenkező esetben a ciklus megszakad, és a programvezérlés a 'done' utasítást követő másik parancshoz kerül.
Bash While Loop példák
Íme néhány példa a bash while ciklusra:
Míg hurok egyetlen feltétellel
Ebben a példában a while ciklus egyetlen feltétellel kerül felhasználásra a kifejezésben. Ez a while ciklus alapvető példája, amely számsorokat nyomtat a felhasználói bevitel szerint:
Példa
#!/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.'
Kimenet
Míg hurok több feltétellel
Az alábbiakban egy példa a while ciklusra, amely több feltételt tartalmaz a kifejezésben:
Példa
#!/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.'
Kimenet
eol pythonban
Infinite While Loop
A végtelen hurok olyan hurok, amelynek nincs vége vagy vége. Ha a feltétel kiértékelése mindig igaz, akkor végtelen hurkot hoz létre. A ciklus folyamatosan fut, amíg a CTRL+C billentyűkombinációval le nem állítja:
Példa
#!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done
A fenti szkriptet egy sorba is írhatjuk:
#!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done
Kimenet
Itt a beépített (:) parancsot használtuk, amely mindig igazat ad vissza. Használhatjuk a beépített true parancsot is végtelen ciklus létrehozásához, az alábbiak szerint:
Példa
java gyűjtemény
#!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done
Ez a bash szkript ugyanazt a kimenetet adja, mint egy fenti végtelen szkript.
Megjegyzés: A végtelen hurkok leállíthatók a CTRL+C billentyűkombinációval vagy a szkripten belüli feltételes kilépés hozzáadásával.
Míg a hurok megszakítási nyilatkozattal
A break utasítás használható a ciklus leállítására az alkalmazott feltételnek megfelelően. Például:
Példa
#!/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
Kimenet
A szkript szerint a ciklus tízszeres iterációra van rendelve. De van egy feltétel nyolcszori iteráció után, amely megszakítja az iterációt és befejezi a ciklust. A következő kimenet jelenik meg a szkript végrehajtása után.
Míg hurok folytatási nyilatkozattal
A folytatás utasítással kihagyható egy adott feltétel iterációja a while cikluson belül.
Példa
#!/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.'
Kimenet
Míg Loop C-stílussal
A bash szkriptben a while ciklushoz hasonlóan írhatunk, mint C programozási nyelvben.
Példa
#!/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></=>