Introducción
El continue La declaración es un Bash incorporado que altera el flujo de los bucles de secuencias de comandos. El concepto no es exclusivo de Bash y aparece en otros lenguajes de programación.
La mejor manera de entender cómo Bash continue la declaración funciona a través de ejemplos prácticos.
Este tutorial muestra cómo usar Bash continue instrucción en scripts de Bash.
Requisitos previos
- Una máquina con Linux o macOS.
- Un editor de texto para los ejemplos.
- Conocimiento básico de secuencias de comandos Bash.
La declaración de continuación de Bash
El Bash continue La instrucción reanuda la siguiente iteración en un bucle o instrucción en bucle.
La sintaxis es:
continue <integer>
El continue declaración sólo tiene significado cuando se aplica a los bucles. El valor entero indica la profundidad de continue declaración. De forma predeterminada, el número entero es 1 y escribir el número no es obligatorio. Aumente el número para reanudar una instrucción de bucle externo.
Usa un continue sentencia como una sentencia de control de bucle. Por ejemplo, continue La declaración ayuda a finalizar la iteración actual dentro de un bucle cuando se cumple una condición específica. Según el tipo de bucle, el programa se reanuda en la siguiente iteración o reinicia el bucle.
Bash continuar Ejemplos
A continuación, se incluyen ejemplos y explicaciones sobre cómo trabajar con la declaración de continuación en scripts de Bash.
Las siguientes construcciones de bucle principal muestran cómo funciona la instrucción:
- El ciclo for continúa en la siguiente iteración cuando se combina con continuar.
- La sentencia continue reinicia el
whileyuntilbucles.
El select El comando también aparece en los ejemplos, aunque no es una construcción de bucle principal. La sentencia funciona como un bucle y continue funciona para cualquier comando de bucle.
Uso de Bash Continue con un bucle for
Usa el continue instrucción dentro de un condicional if para controlar el flujo de un for :
#!/bin/bash
for i in {1..10}
do
if [[ $i == '9' ]]
then
echo "Number $i!"
continue
fi
echo "$i"
done
echo "Done!"
El código hace lo siguiente:
- Línea 3 inicia el
forcondición de bucle, iterando la variableide1a10. - Línea 5 comprueba la
ivalor. Cuando la variable es igual a9, el programa repite un mensaje y reinicia el bucle en la siguiente iteración (línea 3 ). - Línea 10 imprime el número en la consola solo cuando la declaración condicional en línea 5 es falso .
Ejecute el script para ver los resultados.
La salida imprime todos los números individuales en la consola. Cuando la condición en la línea 5 se evalúa como Verdadero ($i == '9' ), la consola repite un mensaje.
Uso de Bash Continue con bucle anidado
El continue sentencia funciona con bucles anidados así como. Por ejemplo, use continue 2 para reanudar un bucle exterior:
#!/bin/bash
for i in {1..5}
do
for j in {1..5}
do
if [[ $i -eq $j ]]
then
echo "$i = $j"
continue 2
fi
echo "$i =/= $j"
done
done
echo "Done!"
El programa hace lo siguiente:
- Línea 3 inicia el ciclo externo, incrementando la variable
ide1a5. - Línea 5 inicia un bucle for interno, incrementando la variable
jde1a5para cadaiincremento. - Línea 7 comprueba si las variables
iyjson iguales ($i -eq $j). Si lo son, elcontinue 2La instrucción reanuda el ciclo externo en la siguiente iteración. Sin embargo, si los valores son diferentes, el programa continúa como se esperaba.
Ejecute el script para ver el resultado del programa.
Cada vez que los dos valores son iguales, el primer número aumenta.
Uso de Bash Continue con un ciclo while
A continuación se muestra un script de Bash de ejemplo que utiliza <strong>continue</strong> declaración en un while bucle:
#!/bin/bash
i=0
while [[ $i -lt 11 ]]
do
if [[ "$i" == '9' ]]
then
echo "Number $i!"
((i++))
continue
fi
echo $i
((i++))
done
Cada línea hace lo siguiente:
- Línea 3 define una variable
iy establece el valor en0. - Línea 5 inicia un
whilecírculo. La condición final es cuandoies menor que11. - Línea 7 establece una verificación de condición usando un
ifdeclaración. Cuando la variableies igual a9, el programa avanza a las líneas 9-11 . En todos los demás casos, el código salta a la línea 13 . - Líneas 9-11 imprime un mensaje en la consola, incrementa
iycontinueinstrucción reanuda el ciclo en línea 5 . - Líneas 13 y 14 imprime la variable
ia la consola e incrementarlo.
Para ver el resultado, ejecute el script desde la terminal.
El programa imprime todos los números en la consola. Debido a las declaraciones condicionales y continuas, se imprime un mensaje diferente para el número 9 .
Uso de Bash Continue con un bucle hasta
Combina continue declaración con un until bucle y proporciona una condición para cambiar el comportamiento del bucle para un cierto valor. Por ejemplo, pruebe el siguiente script:
#!/bin/bash
i=0
until [[ $i -gt 10 ]]
do
if [[ $i -eq 9 ]]
then
echo "Number $i!"
((i++))
continue
fi
echo $i
((i++))
done
El código incrementa una variable y se repite hasta que el valor llega a 10 . Cuando la variable es igual a 9 , el programa emite un mensaje diferente. El continue instrucción reinicia el until bucle y continúa como de costumbre.
Uso de Bash Continue con un bucle seleccionado
El select El comando es un caso particular porque no es un ciclo de secuencias de comandos de Bash principal. El comando crea menús que requieren la entrada del usuario. Usa el continue declaración para proporcionar una salida diferente basada en el valor seleccionado por el usuario.
Como ejemplo, pruebe el siguiente script de Bash:
#!/bin/bash
PS3="Choose a number: "
select i in {1..10}
do
echo "Selected number: $i"
if [[ $REPLY -eq 9 ]]
then
echo "Number $i!"
continue
fi
done
El guión consta de los siguientes elementos:
- La
PS3en la línea 3 está el mensaje de visualización paraselectbucle. - Línea 5 define la condición del ciclo, listando números desde
1a10. La variableialmacena la entrada del usuario. - Línea 7 repite la selección.
- Línea 8 realiza un control. Si el valor de entrada del usuario es
9, el programa imprime un mensaje en la consola y continúa conselectbucle en la siguiente iteración.
Ejecute el script y pruebe diferentes valores para ver el resultado.
Para salir del programa, presione CTRL +C o agregue una instrucción de interrupción.