În acest subiect, am demonstrat cum să folosiți instrucțiunea while loop în Bash Script.
The bash while loop poate fi definită ca o instrucțiune a fluxului de control care permite executarea setului dat de comenzi în mod repetat atâta timp cât condiția aplicată este evaluată la adevărată. De exemplu, putem fie să rulăm comanda echo de mai multe ori, fie să citim un fișier text linie cu linie și să procesăm rezultatul utilizând bucla while în Bash.
Sintaxa lui Bash While Loop
Loop-ul Bash while are următorul format:
vba
while [ expression ]; do commands; multiple commands; done
Sintaxa de mai sus este aplicabilă numai dacă expresia conține o singură condiție.
Dacă există mai multe condiții de inclus în expresie, atunci sintaxa buclei while va fi următoarea:
while [ expressions ]; do commands; multiple commands; done
Sintaxa pe o singură linie a buclei while poate fi definită astfel:
while [ condition ]; do commands; done while control-command; do Commands; done
Există câteva puncte cheie ale declarației „while loop”:
- Condiția este verificată înainte de a executa comenzile.
- Bucla „while” este, de asemenea, capabilă să efectueze toată munca pe care o poate face „bucla”.
- Comenzile dintre „do” și „done” sunt executate în mod repetat atâta timp cât condiția este evaluată la adevărată.
- Argumentele pentru o buclă „while” pot fi o expresie booleană.
Cum functioneaza
Bucla while este o buclă de intrare restricționată. Înseamnă că condiția este verificată înainte de a executa comenzile buclei while. Dacă condiția este evaluată la adevărat, setul de comenzi care urmează condiției sunt executate. În caz contrar, bucla este încheiată, iar controlul programului este dat celeilalte comenzi în urma instrucțiunii „terminat”.
Exemple de bucle Bash While
Următoarele sunt câteva exemple de buclă bash while:
Bucla While cu o singură condiție
În acest exemplu, bucla while este utilizată cu o singură condiție în expresie. Este exemplul de bază al buclei while care va imprima serii de numere conform introducerii utilizatorului:
Exemplu
#!/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.'
Ieșire
Bucla While cu mai multe condiții
Următorul este un exemplu de buclă while cu mai multe condiții în expresie:
Exemplu
#!/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.'
Ieșire
instrument de tăiere în ubuntu
Buclă While infinită
O buclă infinită este o buclă care nu are sfârșit sau terminație. Dacă condiția se evaluează întotdeauna la adevărat, se creează o buclă infinită. Bucla se va executa continuu până când este oprită forțat folosind CTRL+C:
Exemplu
#!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done
De asemenea, putem scrie scriptul de mai sus într-o singură linie ca:
#!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done
Ieșire
Aici, am folosit comanda încorporată (:) care returnează întotdeauna adevărat. De asemenea, putem folosi comanda încorporată true pentru a crea o buclă infinită, la fel ca mai jos:
Exemplu
#!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done
Acest script bash va oferi, de asemenea, aceeași ieșire ca un script infinit de mai sus.
Notă: buclele infinite pot fi terminate folosind CTRL+C sau adăugând o ieșire condiționată în script.
While Loop cu o instrucțiune Break
O instrucțiune break poate fi folosită pentru a opri bucla conform condiției aplicate. De exemplu:
Exemplu
#!/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
Ieșire
Conform scriptului, bucla este atribuită să repete de zece ori. Dar există o condiție după opt ori de iterație care va întrerupe iterația și va termina bucla. Următoarea ieșire va fi afișată după executarea scriptului.
Buclă While cu o instrucțiune Continue
O instrucțiune continue poate fi folosită pentru a sări peste iterația pentru o anumită condiție din bucla while.
în java
Exemplu
#!/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.'
Ieșire
While Loop cu C-Style
De asemenea, putem scrie bucla while în scriptul bash la fel de asemănător cu o buclă while în limbajul de programare C.
Exemplu
#!/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></=>