Los bucles le permiten ejecutar uno o más comandos varias veces hasta que se cumpla una determinada condición. Sin embargo, a veces es posible que deba modificar el flujo del ciclo y finalizar el ciclo o solo la iteración actual.
En Bash, break
y continue
declaraciones le permite controlar la ejecución del bucle.
Bash break
Declaración #
El break
La instrucción finaliza el ciclo actual y pasa el control del programa al comando que sigue al ciclo terminado. Se usa para salir de un for
, while
, until
, o select
loop.sLa sintaxis del break
declaración toma la siguiente forma:
break [n]
[n]
es un argumento opcional y debe ser mayor o igual a 1. Cuando [n]
se proporciona, se sale del bucle envolvente n-ésimo. break 1
es equivalente a break
.
Para entender mejor cómo usar el break
declaración, echemos un vistazo a los siguientes ejemplos.
En el siguiente script, la ejecución de while
el bucle se interrumpirá una vez que el elemento iterado actual sea igual a 2
:
i=0
while [[ $i -lt 5 ]]
do
echo "Number: $i"
((i++))
if [[ $i -eq 2 ]]; then
break
fi
done
echo 'All Done!'
Number: 0
Number: 1
All Done!
Aquí hay un ejemplo del uso de break
instrucción dentro de for
anidado bucles.
Cuando el argumento [n]
no se da, break
termina el bucle envolvente más interno. Los bucles exteriores no están terminados:
for i in {1..3}; do
for j in {1..3}; do
if [[ $j -eq 2 ]]; then
break
fi
echo "j: $j"
done
echo "i: $i"
done
echo 'All Done!'
j: 1
i: 1
j: 1
i: 2
j: 1
i: 3
All Done!
Si desea salir del bucle externo, use break 2
. Argumento 2
le dice a break
para terminar el segundo bucle envolvente:
for i in {1..3}; do
for j in {1..3}; do
if [[ $j -eq 2 ]]; then
break 2
fi
echo "j: $j"
done
echo "i: $i"
done
echo 'All Done!'
j: 1
All Done!
Bash continue
Declaración #
El continue
La declaración salta los comandos restantes dentro del cuerpo del bucle adjunto para la iteración actual y pasa el control del programa a la siguiente iteración del bucle.
La sintaxis de continue
declaración es la siguiente:
continue [n]
El [n]
El argumento es opcional y puede ser mayor o igual a 1. Cuando [n]
se da, se reanuda el bucle envolvente n-ésimo. continue 1
es equivalente a continue
.
En el siguiente ejemplo, una vez que el elemento iterado actual es igual a 2
, el continue
hará que la ejecución regrese al principio del bucle y continúe con la siguiente iteración.
i=0
while [[ $i -lt 5 ]]; do
((i++))
if [[ "$i" == '2' ]]; then
continue
fi
echo "Number: $i"
done
echo 'All Done!'
Number: 1
Number: 3
Number: 4
Number: 5
All Done!
El siguiente script imprime números desde 1
hasta 50
que son divisibles por 9
.
Si un número no es divisible por 9
, el continue
declaración salta el echo
comando y pasar el control a la siguiente iteración del ciclo.
for i in {1..50}; do
if [[ $(( $i % 9 )) -ne 0 ]]; then
continue
fi
echo "Divisible by 9: $i"
done
Divisible by 9: 9
Divisible by 9: 18
Divisible by 9: 27
Divisible by 9: 36
Divisible by 9: 45
Conclusión #
Los bucles son uno de los conceptos fundamentales de los lenguajes de programación. En lenguajes de secuencias de comandos como Bash, los bucles son útiles para automatizar tareas repetitivas.
El break
La instrucción se utiliza para salir del ciclo actual. El continue
se utiliza para salir de la iteración actual de un bucle y comenzar la siguiente iteración.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.