Cómo usar el bucle for en un script de Linux Bash Shell

El bucle es un arte inherente, que puede simplificar su trabajo y ayudarlo a automatizar tareas repetitivas con relativa facilidad.

Imagine una situación en la que necesita actualizar una serie de números o texto y, en lugar de hacerlo manualmente, el sistema lo hace por usted. Este es el poder del looping y los beneficios que trae para ti.

Los bucles, como función, están disponibles en casi todos los lenguajes de programación; Bash de Linux no es una excepción a esta regla.

Aquí hay una guía que explica cómo puede usar el bucle for en un script de shell.

La estructura del bucle for

Usar el bucle for en scripts de shell es bastante sencillo y puede manipular la estructura para lograr diferentes objetivos.

La estructura básica es la siguiente:

for item in [LIST]
do
[COMMANDS]
done

Con un bucle, puede recorrer valores numéricos y de caracteres, según la necesidad de la hora.

Esta es la estructura de un bucle for en un script de shell:

for VARIABLE in 1 2 3 4 5 .. N
do
command1
command2
commandN
done

Puede definir el número de iteraciones en la primera línea. De esta forma, mencionarás el valor inicial y el valor final.

El número de iteraciones está determinado por los valores que especifique, mientras que el código que sigue al hacer instrucción es el valor de bucle resultante.

Creación y ejecución de bucles for en Linux Bash

Abra la terminal de Linux para comenzar a escribir código.

Se utiliza un editor de texto para almacenar el script de shell, que imprime los resultados deseados cuando se ejecuta. Con fines ilustrativos, los comandos de esta guía están escritos en el Nano editor de texto.

Escribe nano en la línea de comando del terminal para abrir el editor de texto, seguido del nombre del script de shell.

nano ForLoops.sh

Puede cambiar el nombre del script de shell por el que desee. la extensión es sh, ya que almacenará un script de shell.

En esta sección, los siguientes códigos demostrarán cómo puede imprimir valores enteros de manera diferente. Para usar un bucle for en un script de shell para imprimir números enteros, puede probar algunos de estos ejemplos de código.

1. Código de bucle para imprimir un conjunto de números

Una vez que se abre el editor, es hora de escribir el código.

#!/usr/bin/bash
for i in 1 2 3
do
echo "Current # $i"
done

Producción:

Donde:

  • I = nombre de la variable para almacenar los valores iterados
  • 1 2 3 = número de veces que itera el bucle for en el script de shell
  • hacer = comando para realizar un determinado conjunto de acciones
  • eco = imprimir los resultados definidos al lado
  • hecho = final del ciclo

Guarde el código en el editor de texto presionando Control + X. Guarde y salga del script.

Antes de ejecutar el código, debe cambiar los permisos del script de shell.

Enter chmod +x seguido de su nombre de archivo de script de shell:

chmod +x Forloops.sh

Una vez que se otorgan los permisos, ejecute el ciclo for en su script de shell escribiendo lo siguiente:

./Forloops.sh

La salida se imprimirá en la ventana del terminal.

2. Forma alternativa de imprimir un conjunto de números

Hay formas alternativas de definir un bucle for en un script de shell. También puede especificar el valor inicial y final de las iteraciones del ciclo usando corchetes.

Aquí está la estructura del código:

for i in {1..3} # a for loop defines a variable and how many iterations you want to make through a loop
do
echo "Current # $i: Example 2"
done

El bucle se ejecutará tres veces y los valores se imprimirán de la siguiente manera:

3. Código de bucle usando valores de paso

Puede definir los valores de paso en su bucle si desea moverse de forma no secuencial a través de las iteraciones. Dependiendo del valor especificado, la salida tendrá un espacio fijo.

Para example:

for i in {1..10..2}
do
echo "Number = $i"
done

Donde:

  • I = variable para almacenar las iteraciones
  • 1..10 = número de iteraciones para ejecutar el ciclo
  • 2 = valor del paso
  • hacer = comando para imprimir la salida
  • eco = comando de impresión
  • hecho = comando de salida para el ciclo

Producción:

La salida tiene una diferencia de dos, que se especificó en la declaración del paso.

Los bucles for en las secuencias de comandos de shell no están restringidos solo a números enteros. En Bash, puede usar un bucle for para iterar de manera efectiva a través de caracteres y valores de cadena.

1. Bucle a través de cadenas

Aquí hay un básico example de cómo puede recorrer algunos valores de cadena (definidos en la instrucción for):

for name in John Jack Mary
do
echo "My name is $name"
done

Donde:

  • nombre = variable para almacenar los valores de cadena
  • hacer = comando para imprimir la salida
  • eco = comando de impresión
  • hecho = comando de salida para el ciclo

Producción:

Este ciclo for iterará tres veces, ya que solo hay Tres valores de cadena especificados en el por declaración.

2. Recorriendo cadenas con condiciones

¿Qué sucede si desea pasar algunas condiciones lógicas para terminar el bucle a mitad de camino? Para este propósito, puede usar sentencias lógicas como la SI declaración. La declaración IF controla cómo funcionará el ciclo y qué salida se imprimirá como resultado.

for element in Hydrogen Helium Lithium Beryllium; do

if [[ "$element" == 'Lithium' ]]; then

break

fi

echo "Element: $element"

done

echo 'All Done!'

Tan pronto como el valor del elemento sea igual a litio, el ciclo termina y la salida se imprime. El bucle se ejecuta hasta que ya no se cumple la condición.

Dado que el litio ocupa el tercer lugar en la lista de valores, el bucle se ejecutará durante dos iteraciones antes de imprimir el resultado final. ¡Todo listo!.

Ejecutar bucles en Linux Bash

Los bucles son una parte esencial de la estructura de shell de Linux, lo que puede mejorar en gran medida la función de los scripts de Linux.

Si tiene que imprimir resultados repetitivos, no hay nada mejor que los bucles dentro de los scripts de Bash. Como mencionamos anteriormente, los bucles están disponibles en casi todos los lenguajes de programación y Python no es una excepción. Elimine la repetición y viva según el código DRY (Don’t Repeat Yourself).

Related Posts