Declaraciones de bucle en secuencias de comandos de Shell: Hay un total de 3 declaraciones de bucle que se pueden usar en la programación bash
Tabla de contenidos
- Declaración `` while` en Shell Script en Linux
- Declaración `para` en Shell Script en Linux
- Declaración `hasta` en Shell Script en Linux
- Ejemplos de declaraciones en bucle
Para alterar el flujo de las declaraciones de bucle, se utilizan dos comandos:
- romper
- continuar
Sus descripciones y sintaxis son las siguientes:
Declaración `` while` en Shell Script en Linux
Aquí el comando se evalúa y, en función del bucle resultante, se ejecutará; si el comando se eleva a falso, el bucle finalizará eso.
#/bin/bash while do done>
Implementación del bucle `While` en Shell Script.
Primero, creamos un archivo usando un editor de texto en Linux. En este caso, estamos usando el editor `vim`.
vim looping.sh>
Puede reemplazar looping.sh con el nombre deseado.
Luego hacemos que nuestro script sea ejecutable usando el comando `chmod` en Linux.
chmod +x looping.sh>
#/bin/bash
a=0
cadena.valorde# Es menor que el operador
#Iterar el ciclo hasta menos de 10
mientras [ $a -lt 10 ]
hacer
# Imprimir los valores
echo $a
# incrementar el valor
a=`expr $a + 1`
hecho
Producción:

Mientras bucle en Linux
Explicación:
-
#/bin/bash>: Especifica que el script debe interpretarse utilizando el shell Bash. -
a=0>: Inicializa una variablea>con el valor 0. -
while [ $a -lt 10 ]>: Inicia un bucle while que continúa mientras el valora>es menor que 10. -
do>: Marca el comienzo del cuerpo del bucle. -
echo $a>: Imprime el valor actual dea>la consola. -
a=>expresión $a + 1 : Incrementa el valor dea>por 1. Elexpr>El comando se utiliza para expresiones aritméticas. -
done>: Marca el final del bucle.
Declaración `para` en Shell Script en Linux
El bucle for opera en listas de elementos. Repite un conjunto de comandos para cada elemento de una lista.
Aquí var es el nombre de una variable y palabra1 a palabraN son secuencias de caracteres separados por espacios (palabras). Cada vez que se ejecuta el bucle for, el valor de la variable var se establece en la siguiente palabra de la lista de palabras, de palabra1 a palabraN.
Sintaxis:
#/bin/bash for in do done>
Implementación de bucle `for` con declaración `break` en Shell Script.
Primero, creamos un archivo usando un editor de texto en Linux. En este caso, estamos usando el editor `vim`.
vim for.sh>
Puede reemplazar for.sh con el nombre deseado.
Luego hacemos que nuestro script sea ejecutable usando el comando `chmod` en Linux.
chmod +x for.sh>
#/bin/bash
#Inicio del bucle for
para una en 1 2 3 4 5 6 7 8 9 10
hacer# si a es igual a 5 rompe el bucle
si [ $a == 5 ]
entonces
romper
ser# Imprime el valor
echo Iteration no $a
hecho
Producción:

Romper declaración en for Loop en Linux
Explicación:
#/bin/bash>: Especifica que el script debe interpretarse utilizando el shell Bash.for a in 1 2 3 4 5 6 7 8 9 10>: Inicia un bucle for que itera sobre los valores del 1 al 10, asignando cada valor a la variablea>en cada iteración.do>: Marca el comienzo del cuerpo del bucle.if [ $a == 5 ]>: Comprueba si el valor actuala>es igual a 5.then>: Marca el comienzo del bloque condicional que se ejecutará si la condición es verdadera.break>: Sale del bucle si la condición es verdadera.
fi>: Marca el final del bloque condicional.
echo 'Iteration no $a'>: Imprime un mensaje indicando el número de iteración actual.done>: Marca el final del bucle.
El script configura un bucle for que itera sobre los valores del 1 al 10. Durante cada iteración, comprueba si el valora>es igual a 5. Si es así, se sale del bucle utilizando elbreak>declaración. De lo contrario, imprime un mensaje indicando el número de iteración actual. El ciclo continúa hasta que completa todas las iteraciones o hasta que encuentra una declaración de interrupción.
Implementación del bucle `for` con declaración `continue` en Shell Script.
Primero, creamos un archivo usando un editor de texto en Linux. En este caso, estamos usando el editor `vim`.
vim for_continue.sh>
Puede reemplazar for_continue.sh con el nombre deseado.
Luego hacemos que nuestro script sea ejecutable usando el comando `chmod` en Linux.
chmod +x for_continue.sh>
#/bin/bash
comando en el nodo jspara una en 1 2 3 4 5 6 7 8 9 10
hacer# si a = 5 entonces continúa el ciclo y
# no pasar a la línea 8si [ $a == 5 ]
entonces
continuar
ser
echo Iteration no $a
hecho
Producción:

continuar declaración en bucle for en Linux
Explicación:
-
#/bin/bash>: Especifica que el script debe interpretarse utilizando el shell Bash. -
for a in 1 2 3 4 5 6 7 8 9 10>: Inicia un bucle for que itera sobre los valores del 1 al 10, asignando cada valor a la variablea>en cada iteración. -
do>: Marca el comienzo del cuerpo del bucle. -
if [ $a == 5 ]>: Comprueba si el valor actuala>es igual a 5.-
then>: Marca el comienzo del bloque condicional que se ejecutará si la condición es verdadera.-
continue>: omite el resto del cuerpo del bucle y pasa a la siguiente iteración si la condición es verdadera.
-
-
fi>: Marca el final del bloque condicional.
-
-
echo 'Iteration no $a'>: Imprime un mensaje indicando el número de iteración actual. Esta línea se omite sia>es igual a 5 debido a lacontinue>declaración. -
done>: Marca el final del bucle.
El script configura un bucle for que itera sobre los valores del 1 al 10. Durante cada iteración, comprueba si el valora>es igual a 5. Si es así, el ciclo continúa con la siguiente iteración sin ejecutar las instrucciones restantes en el cuerpo del ciclo. De lo contrario, imprime un mensaje indicando el número de iteración actual. El ciclo continúa hasta completar todas las iteraciones.
Declaración `hasta` en Shell Script en Linux
El bucle hasta se ejecuta tantas veces como la condición/comando se evalúe como falso. El bucle termina cuando la condición/comando se vuelve verdadera.
Sintaxis:
#/bin/bash until do done>
Implementación del bucle `hasta` en Shell Script
Primero, creamos un archivo usando un editor de texto en Linux. En este caso, estamos usando el editor `vim`.
vim until.sh>
Puedes reemplazar hasta. sh con el nombre deseado.
Luego hacemos que nuestro script sea ejecutable usando el comando `chmod` en Linux.
chmod +x until.sh>
#/bin/bash
a=0
# -gt es mayor que el operador
#Iterar el ciclo hasta que a sea mayor que 10hasta [ $a -gt 10 ]
hacer# Imprimir los valores
echo $a# incrementar el valor
a=`expr $a + 1`
hecho
Producción:

Hasta bucle en Linux
Explicación:
-
#/bin/bash>: Especifica que el script debe interpretarse utilizando el shell Bash. -
a=0>: Inicializa una variablea>con el valor 0. -
until [ $a -gt 10 ]>: Inicia un bucle hasta que continúa mientras el valora>no es mayor que 10. -
do>: Marca el comienzo del cuerpo del bucle. -
echo $a>: Imprime el valor actual dea>la consola. -
a=>expresión $a + 1 : Incrementa el valor dea>por 1. Elexpr>El comando se utiliza para expresiones aritméticas. -
done>: Marca el final del bucle.
Nota: Los scripts de Shell son un lenguaje que distingue entre mayúsculas y minúsculas, lo que significa que se debe seguir la sintaxis adecuada al escribir los scripts.
Ejemplos de declaraciones en bucle
1. Iterando sobre colores usando un bucle For
Primero, creamos un archivo usando un editor de texto en Linux. En este caso, estamos usando el editor `vim`.
vim color.sh>
Puede reemplazar color.sh con el nombre deseado.
Luego hacemos que nuestro script sea ejecutable usando el comando `chmod` en Linux.
chmod +x color.sh>
#/bin/bash
COLORES=rojo verde azul
# el bucle for continúa hasta que lee todos los valores de COLORES
para COLOR en $COLORS
hacer
eco COLOR: $COLOR
hecho
Producción:

Hasta en Linux
Explicación:
conjunto vs mapa
- Inicialización de colores:
COLORS='red green blue'>: Inicializa una variable denominadaCOLORS>con una lista de valores de color separados por espacios (rojo, verde y azul).
- Para iteración de bucle:
for COLOR in $COLORS>: Inicia un bucle for que itera sobre cada valor en elCOLORS>variable.- Cuerpo del bucle:
echo 'COLOR: $COLOR'>: Imprime un mensaje para cada color, mostrando el valor del color actual.
- Cuerpo del bucle:
- El ciclo continúa hasta que procesa todos los valores presentes en el
COLORS>variable.
Este ejemplo demuestra un bucle for simple en Bash, iterando sobre una lista de colores almacenados en elCOLORS>variable. El bucle imprime un mensaje para cada color, indicando el color actual que se está procesando. El bucle se repite hasta que se agotan todos los valores de color.
2. Creando un bucle infinito con while true en script de shell
Primero creamos un archivo usando un editor de texto en Linux. En este caso estamos usando el editor `vim`.
vim infinite.sh>
Puede reemplazar infinita.sh con el nombre deseado.
Luego hacemos que nuestro script sea ejecutable usando el comando `chmod` en Linux.
chmod +x infinite.sh>
#/bin/bash
si bien es cierto
hacer# Comando a ejecutar
# dormir 1 indica que duerme durante 1 segundo
eco Hola, soy bucle infinito
dormir 1
hecho
Producción:

bucle infinito en linux
Explicación:
tamaños de fuente de látex
Estructura de bucle infinito:
while true>: Inicia un bucle while que continúa indefinidamente como condicióntrue>siempre es cierto.- Cuerpo del bucle:
echo 'Hi, I am infinity loop'>: Imprime un mensaje indicando que el script está en un bucle infinito.sleep 1>: Pausa la ejecución del bucle durante 1 segundo antes de la siguiente iteración.
- Cuerpo del bucle:
- El bucle continúa indefinidamente, ejecutando los comandos dentro de su cuerpo repetidamente.
Este ejemplo muestra la creación de un bucle infinito usando la construcción while true en Bash. El bucle imprime continuamente un mensaje que indica su estado como bucle infinito e incluye un comando de suspensión 1, lo que provoca un retraso de un segundo entre iteraciones. Los bucles infinitos se utilizan a menudo para procesos que deben ejecutarse continuamente hasta que se interrumpen manualmente.
3. Bucle interactivo de confirmación de nombre
Primero creamos un archivo usando un editor de texto en Linux. En este caso estamos usando el editor `vim`.
vim name.sh>
Puede reemplazar name.sh con el nombre deseado.
Luego hacemos que nuestro script sea ejecutable usando el comando `chmod` en Linux.
chmod +x name.sh>
#/bin/bash
CORRECTO=n
mientras [ $CORRECTO == n ]
hacer# el bucle se interrumpe cuando ingresas y, es decir, cuando tu nombre es correcto
# -p significa mensaje que solicita la entradaleer -p Introduce tu nombre: NOMBRE
leer -p ¿${NAME} es correcto? CORRECTO
hecho
Producción:

Script interactivo en Linux
Explicación:
- Inicialización:
CORRECT=n>: Inicializa una variable denominadaCORRECT>con el valor n. Esta variable se utiliza para controlar el bucle.
- Bucle interactivo:
while [ '$CORRECT' == 'n' ]>: Inicia un ciclo while que continúa mientras el valor deCORRECT>es igual a n.- Cuerpo del bucle:
read -p 'Enter your name:' NAME>: Solicita al usuario que ingrese su nombre y almacena la entrada en elNAME>variable.read -p 'Is ${NAME} correct? ' CORRECT>: Solicita al usuario que confirme si el nombre ingresado es correcto y actualiza elCORRECT>variable en consecuencia.
- Cuerpo del bucle:
- El bucle continúa hasta que el usuario ingresa y (que indica el nombre correcto).
Este ejemplo muestra un bucle interactivo que solicita al usuario que ingrese su nombre y luego solicita confirmación. El bucle continúa hasta que el usuario confirma que el nombre ingresado es correcto ingresando y. El bucle utiliza el ` read> `>comando para la entrada del usuario y actualiza el ` CORRECT> `>variable para controlar el flujo del bucle.
Conclusión
En este artículo analizamos las declaraciones de bucle en las secuencias de comandos Bash, cubriendowhile>,for>, yuntil>bucles. Introduce el uso debreak>ycontinue>declaraciones para modificar el comportamiento del bucle. Ejemplos prácticos ilustran la implementación de bucles, incluida la iteración sobre valores de color, la creación de bucles infinitos y la construcción de un bucle interactivo para la validación de la entrada del usuario. La guía ofrece un recurso conciso pero informativo para comprender y utilizar construcciones de bucle en secuencias de comandos Bash.