En este tema, hemos demostrado cómo usar la instrucción de bucle while en Bash Script.
El bash mientras bucle se puede definir como una declaración de flujo de control que permite ejecutar el conjunto de comandos dado repetidamente siempre que la condición aplicada se evalúe como verdadera. Por ejemplo, podemos ejecutar el comando echo muchas veces o simplemente leer un archivo de texto línea por línea y procesar el resultado usando el bucle while en Bash.
Sintaxis de Bash While Loop
El bucle while de Bash tiene el siguiente formato:
matriz de cadenas del programa c
while [ expression ]; do commands; multiple commands; done
La sintaxis anterior es aplicable sólo si la expresión contiene una única condición.
Si hay varias condiciones para incluir en la expresión, entonces la sintaxis del bucle while será la siguiente:
while [ expressions ]; do commands; multiple commands; done
La sintaxis de una sola línea del bucle while se puede definir como:
while [ condition ]; do commands; done while control-command; do Commands; done
Hay algunos puntos clave de la declaración del 'bucle while':
- La condición se verifica antes de ejecutar los comandos.
- El bucle ' while ' también es capaz de realizar todo el trabajo que puede realizar el ' loop '.
- Los comandos entre 'do' y 'done' se ejecutan repetidamente siempre que la condición se evalúe como verdadera.
- Los argumentos para un bucle ' while' pueden ser una expresión booleana.
Cómo funciona
El bucle while es un bucle de entrada restringida. Significa que la condición se verifica antes de ejecutar los comandos del ciclo while. Si la condición se evalúa como verdadera, se ejecuta el conjunto de comandos que siguen a esa condición. De lo contrario, el ciclo finaliza y el control del programa se otorga al otro comando que sigue a la instrucción 'hecho'.
Ejemplos de bucles while de Bash
A continuación se muestran algunos ejemplos de ciclo while de bash:
Bucle while con condición única
En este ejemplo, el bucle while se utiliza con una única condición en la expresión. Es el ejemplo básico de bucle while que imprimirá series de números según la entrada del usuario:
Ejemplo
#!/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.'
Producción
Bucle while con múltiples condiciones
A continuación se muestra un ejemplo de bucle while con múltiples condiciones en la expresión:
Ejemplo
#!/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.'
Producción
tabla desc en mysql
Bucle while infinito
Un bucle infinito es un bucle que no tiene fin ni terminación. Si la condición siempre se evalúa como verdadera, se crea un bucle infinito. El bucle se ejecutará continuamente hasta que se detenga por la fuerza usando CTRL+C:
Ejemplo
#!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done
También podemos escribir el script anterior en una sola línea como:
#!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done
Producción
Aquí, hemos utilizado el comando integrado (:) que siempre devuelve verdadero. También podemos usar el comando incorporado true para crear un bucle infinito como se muestra a continuación:
Ejemplo
#!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done
Este script bash también proporcionará el mismo resultado que el script infinito anterior.
Nota: Los bucles infinitos se pueden terminar usando CTRL+C o agregando alguna salida condicional dentro del script.
Bucle while con una declaración de interrupción
Se puede utilizar una declaración de interrupción para detener el ciclo según la condición aplicada. Por ejemplo:
Ejemplo
#!/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
Producción
convertir fecha de cadena
Según el script, el bucle está asignado para iterar diez veces. Pero hay una condición después de ocho veces de iteración que interrumpirá la iteración y terminará el ciclo. El siguiente resultado se mostrará después de ejecutar el script.
Bucle while con una declaración de continuación
Se puede utilizar una declaración de continuación para omitir la iteración de una condición específica dentro del ciclo while.
Ejemplo
#!/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.'
Producción
Mientras bucle con estilo C
También podemos escribir un bucle while en un script bash de forma similar a un bucle while en el lenguaje de programación C.
Ejemplo
#!/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></=>