Cómo usar el bucle while en Bash
-
Sintaxis:
while
Bucle en Bash -
Ejemplo:
while
Bucle en Bash -
Ejemplo: Un bucle infinito
while
en Bash -
Ejemplo:
while
Bucle en Bash con la declaraciónbreak
-
Ejemplo: bucle
while
en Bash con una declaracióncontinue
El bucle while
es una de las estructuras de bucle más utilizadas en casi todos los lenguajes de programación. Se usa cuando no sabemos el número de veces que necesitamos ejecutar un bucle. Podemos especificar una condición para el bucle while, y las sentencias del bucle se ejecutan hasta que la condición se vuelve falsa.
Sintaxis: while
Bucle en Bash
while [condition]
do
command-1
command-2
...
...
command-n
done
Aquí, la condition
representa la condición que debe ser comprobada cada vez antes de ejecutar los comandos en el bucle. Si la condition
es verdadera, ejecutamos las declaraciones en el bucle. Si la condition
es falsa, salimos del bucle. Las sentencias desde el command-1
hasta el command-n
son sentencias que se ejecutan en un bucle hasta que la condition
se vuelve falsa.
Ejemplo: while
Bucle en Bash
#!/bin/bash
num=5
while [ $num -ge 0 ]
do
echo $num
((num--))
done
Resultado:
5
4
3
2
1
0
Aquí, inicialmente, num
se establece en 5. Seguimos imprimiendo num
en la terminal y disminuyendo num
en un bucle mientras el valor de num
sea mayor o igual a 0.
Ejemplo: Un bucle infinito while
en Bash
#!/bin/bash
while true
do
echo "This is an infinite while loop. Press CTRL + C to exit out of the loop."
sleep 0.5
done
Resultado:
This is an infinite while loop. Press CTRL + C to exit out of the loop.
This is an infinite while loop. Press CTRL + C to exit out of the loop.
This is an infinite while loop. Press CTRL + C to exit out of the loop.
^C
Es un bucle infinito while que imprime This is an infinite while loop. Press CTRL + C to exit out of the loop.
cada 0,5 segundos. Para salir del bucle, podemos presionar CTRL+C.
Ejemplo: while
Bucle en Bash con la declaración break
#!/bin/bash
num=5
while [ $num -ge 0 ]
do
echo $num
((num--))
if [[ "$num" == '3' ]]; then
echo "Exit out of loop due to break"
break
fi
done
Resultado:
5
4
Exit out of loop due to break
En el programa anterior, num
se inicializa como 5. El bucle se ejecuta siempre y cuando num
sea mayor o igual a 0. Pero como tenemos una declaración de break
en el bucle cuando num
es 3. Entonces, salimos del bucle como el valor de num
se convierte en 3.
Ejemplo: bucle while
en Bash con una declaración continue
#!/bin/bash
num=6
while [ $num -ge 1 ]
do
((num--))
if [[ "$num" == '3' ]]; then
echo "Ignore a step due to continue"
continue
fi
echo $num
done
Resultado:
5
4
Ignore a step due to continue
2
1
0
En el programa anterior, num
se inicializa como 6. En el bucle, primero disminuimos num
en 1 y luego imprimimos el último valor de num
. El bucle se ejecuta siempre y cuando el valor num
sea mayor o igual a 1. Cuando num
se convierte en 3, el script no imprime el valor de num
ya que tenemos la sentencia continue
cuando num
es 3.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn