logo

Bash While Loop

En aquest tema, hem demostrat com utilitzar la instrucció de bucle while a Bash Script.

El bucle bash while es pot definir com una instrucció de flux de control que permet executar el conjunt donat d'ordres repetidament sempre que la condició aplicada s'avaluï com a vertadera. Per exemple, podem executar l'ordre echo moltes vegades o simplement llegir un fitxer de text línia per línia i processar el resultat fent servir el bucle while a Bash.

Sintaxi de Bash While Loop

El bucle de Bash while té el format següent:

java com anul·lar
 while [ expression ]; do commands; multiple commands; done 

La sintaxi anterior només és aplicable si l'expressió conté una única condició.

Si hi ha diverses condicions per incloure a l'expressió, la sintaxi del bucle while serà la següent:

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

La sintaxi d'una línia del bucle while es pot definir com:

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

Hi ha alguns punts clau de la declaració 'while loop':

  • La condició es comprova abans d'executar les ordres.
  • El bucle 'while' també és capaç de realitzar tot el treball que pot fer el 'loop'.
  • Les ordres entre 'fer' i 'fet' s'executen repetidament sempre que la condició s'avaluï com a vertadera.
  • Els arguments d'un bucle 'while' poden ser una expressió booleana.

Com funciona

El bucle while és un bucle d'entrada restringida. Significa que la condició es verifica abans d'executar les ordres del bucle while. Si la condició s'avalua com a vertadera, s'executa el conjunt d'ordres que segueix aquesta condició. En cas contrari, el bucle s'acaba i el control del programa es dóna a l'altra ordre després de la instrucció 'done'.

Exemples de bucles de Bash While

A continuació es mostren alguns exemples de bucle while bash:

Bucle while amb condició única

En aquest exemple, el bucle while s'utilitza amb una única condició en expressió. És l'exemple bàsic del bucle while que imprimirà sèries de números segons l'entrada de l'usuari:

Exemple

 #!/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.' 

Sortida

Bash While Loop

Bucle while amb múltiples condicions

A continuació es mostra un exemple de bucle while amb diverses condicions a l'expressió:

Exemple

 #!/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.' 

Sortida

cadena per xerrar
Bash While Loop

Bucle while infinit

Un bucle infinit és un bucle que no té final ni terminació. Si la condició sempre s'avalua com a vertadera, es crea un bucle infinit. El bucle s'executarà contínuament fins que s'aturarà força amb CTRL+C:

Exemple

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

També podem escriure l'script anterior en una sola línia com:

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

Sortida

Bash While Loop

Aquí, hem utilitzat l'ordre integrada (:) que sempre retorna true. També podem utilitzar la comanda integrada true per crear un bucle infinit tal com es mostra a continuació:

Exemple

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

Aquest script bash també proporcionarà la mateixa sortida que un script infinit anterior.

Nota: els bucles infinits es poden acabar utilitzant CTRL+C o afegint alguna sortida condicional dins de l'script.

Bucle while amb una declaració Break

Es pot utilitzar una instrucció break per aturar el bucle segons la condició aplicada. Per exemple:

Exemple

 #!/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 

Sortida

shloka mehta

Segons el guió, el bucle s'assigna a iterar deu vegades. Però hi ha una condició després de vuit vegades d'iteració que trencarà la iteració i finalitzarà el bucle. La següent sortida es mostrarà després d'executar l'script.

Bash While Loop

Bucle While amb una instrucció Continue

Es pot utilitzar una instrucció continue per saltar la iteració d'una condició específica dins del bucle while.

Exemple

 #!/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.' 

Sortida

Bash While Loop

Bucle While amb estil C

També podem escriure un bucle while en l'script bash de la mateixa manera que un bucle while en llenguatge de programació C.

Exemple

 #!/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></=>