Cómo usar Break and Continue en Bash en Linux

1 mar 2021 2 min di lettura
Cómo usar Break and Continue en Bash en Linux
Indice dei contenuti

Introducción

Los bucles le permiten ejecutar uno o más comandos varias veces hasta que se cumpla una determinada condición. Sin embargo, a veces puede ser necesario cambiar el flujo del ciclo y terminar el ciclo o simplemente la iteración actual.

En Bash, las break y continue permiten controlar la ejecución del bucle. (lazo)

Declaración de Bash Break

La break finaliza el ciclo actual y pasa el control del programa al comando que sigue al ciclo terminado. Se utiliza para salir de la for, while, until, o bucle select. La sintaxis de la break tiene la siguiente forma:

break [n]

[n] es un argumento opcional y debe ser mayor o igual que 1. Cuando [n], se termina el n-ésimo ciclo de cierre. break 1 es equivalente a break.

Para comprender mejor cómo usar la break, veamos los siguientes ejemplos.

En la siguiente secuencia de comandos, el while de ejecución del bucle será abortado cuando el elemento iterado actual es 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!

A continuación, se muestra un ejemplo del uso de la instrucción break for

Cuando no se proporciona el argumento [n] break termina el ciclo de cierre más interno. Los bucles externos no se terminan:

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 circuito externo, use el break 2. El argumento 2 le dice a break que termine el segundo ciclo de cierre:

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!

Declaración de Bash continua

La continue omite los comandos restantes dentro del cuerpo del bucle que encierra la iteración actual y pasa el control del programa a la siguiente iteración del bucle.

La sintaxis de la continue es la siguiente:

continue [n]

El [n] es opcional y puede ser mayor o igual a 1. Cuando se da [n], se reanuda el n-ésimo ciclo circundante. continue 1 es equivalente a continue.

En el siguiente ejemplo, una vez que el artículo iterado actual es igual a 2, la continue hará que la ejecución regrese al comienzo del ciclo 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 del 1 al 50 que son divisibles por 9.

Si un número no es divisible por 9, la continue omite el echo y pasa 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 scripting como Bash, los bucles son útiles para automatizar tareas repetitivas.

La break se utiliza para salir del ciclo actual. La continue se usa para salir de la iteración actual de un bucle y comenzar la siguiente iteración.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.