Los bucles son uno de los conceptos fundamentales de los lenguajes de programación. Los bucles son útiles cuando desea ejecutar una serie de comandos una y otra vez hasta que se cumpla una condición específica.
En lenguajes de secuencias de comandos como Bash, los bucles son útiles para automatizar tareas repetitivas. Hay 3 construcciones de bucle básicas en Bash scripting, for
bucle, while
bucle, y until
bucle.
Este tutorial explica los conceptos básicos del until
bucle en Bash.
Bash until
Bucle #
El until
loop se usa para ejecutar un conjunto dado de comandos siempre que la condición dada se evalúe como falsa.
El Bash until
bucle toma la siguiente forma:
until [CONDITION]
do
[COMMANDS]
done
La condición se evalúa antes de ejecutar los comandos. Si la condición se evalúa como falsa, se ejecutan los comandos. De lo contrario, si la condición se evalúa como verdadera, el ciclo terminará y el control del programa pasará al siguiente comando.
En el siguiente ejemplo, en cada iteración, el ciclo imprime el valor actual de la variable counter
e incrementa la variable en uno.
#!/bin/bash
counter=0
until [ $counter -gt 5 ]
do
echo Counter: $counter
((counter++))
done
El ciclo itera mientras el counter
variable tiene un valor mayor que cuatro. El script producirá el siguiente resultado:
Counter: 0
Counter: 1
Counter: 2
Counter: 3
Counter: 4
Counter: 5
Usa el break
y continue
sentencias para controlar la ejecución del bucle.
Bash until
Ejemplo de bucle #
La siguiente secuencia de comandos puede ser útil cuando su host git tiene tiempo de inactividad y, en lugar de escribir manualmente git pull
varias veces hasta que el host esté en línea, puede ejecutar el script una vez. Intentará extraer el repositorio hasta que tenga éxito.
#!/bin/bash
until git pull &> /dev/null
do
echo "Waiting for the git host ..."
sleep 1
done
echo -e "\nThe git repository is pulled."
El script imprimirá "Esperando el host git..." y sleep
durante un segundo hasta que el host git se conecte. Una vez que se extrae el repositorio, se imprimirá "Se extrajo el repositorio git".
Waiting for the git host ...
Waiting for the git host ...
Waiting for the git host ...
The git repository is pulled.
Conclusión #
El while
y until
los bucles son similares entre sí. La principal diferencia es que el while
el bucle itera siempre que la condición se evalúe como true
y el until
el bucle itera siempre que la condición se evalúe como false
.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.