GNU/Linux >> Tutoriales Linux >  >> Linux

Bash For Loop Guía y ejemplos

Un bucle for es una de las declaraciones principales en varios lenguajes de programación y ayuda mucho a administrar su VPS. Aquí, explicaremos cómo se usa en el lenguaje de programación bash, de ahí el nombre, "bash for loop". ¡Prepárate para agregar una nueva herramienta a tu arsenal de desarrolladores!

Un bucle for es una declaración de iteración, lo que significa que puede ejecutar el código repetidamente. Digamos que desea ejecutar una instrucción 5 veces. En lugar de escribir cinco códigos separados, puede escribir una sintaxis de bucle for una vez. Exploremos más a fondo, ¿de acuerdo?

Sintaxis de Bash For Loop

Básicamente, la sintaxis de bucle for más simple repite la ocurrencia de un conjunto de una variable. La secuencia bash normalmente se ve así:

for VARIABLE in 1 2 3 4 5 .. N
Perform the below command:
    command1
    command2
    commandN
done

En el mundo real, esta sintaxis se parecería al siguiente ejemplo:

#!/bin/bash
for i in 1 2 3 4 5
do
 echo "Hello $i"
done

Ejecutar el archivo bash provocará la siguiente secuencia:

Hello 1
Hello 2
Hello 3
Hello 4 
Hello 5

Inspeccionemos cada elemento:

  • #!/bin/bash – muestra que el código es un script bash
  • yo – es un marcador de posición para una variable. Por su parte, $i es el valor individual de la variable. También puede escribirlo como c/$c o por cualquier otro nombre
  • en – separa la variable y los elementos que siguen
  • 1 2 3 4 5 – es un ejemplo de elementos en los que desea realizar la instrucción
  • hacer – es la palabra clave que inicia los bucles. Luego ejecutará la instrucción n veces, siendo n el número total de elementos. Aquí, el valor de n es 5
  • eco "Hola:$i" – es el código que repetiremos n veces. Recuerde que las comillas convierten cualquier cosa dentro de ellas en una variable.
  • hecho – detiene el bucle

Puede escribir el código de manera diferente según la versión de bash que esté ejecutando:

Bash versión 3.0+ puede acortar el rango con “.. ”.

#!/bin/bash
for i in {1..5}
do
  echo "Hai $i"
done

Bash versión 4.0+ le permite usar el {START..END..INCREMENT} sintaxis.

#!/bin/bash
for i in {0..8..2}
do
  echo "Hai $i"
done

El resultado de esta secuencia bash se verá así:

Hai 0
Hai 2
Hai 4
Hai 6 
Hai 8

Las otras sintaxis comunes de dos comandos de bucle son las siguientes:

for VARIABLE in file1 file2 file3
do
    command1 on $VARIABLE
    command2
    commandN
done

Y esto:

for OUTPUT in $(Linux-Or-Unix-Command-Here)
do
    command1 on $OUTPUT
    command2 on $OUTPUT
    commandN
done

Ejemplos de Bash For Loop

Puede actualizar la sintaxis para realizar varias operaciones. Recuerda, antes de hacer nada tendrás que iniciar sesión en tu VPS. Si tiene problemas, este tutorial de Putty SSH lo pondrá en el camino correcto. Mientras tanto, si tiene problemas con bash, debe consultar nuestra guía de la función básica de bash. Recuerde, las funciones de bash deben estar en un .sh expediente. Para crear uno, ejecute lo siguiente en la línea de comando:

vim NameOfFile.sh

Esto creará un archivo .sh y lo abrirá en el editor VIM. Puede obtener más información en el artículo sobre la función bash básica mencionado anteriormente.

Uso de Bash For Loop para crear un bucle infinito

Una vez activado, este ciclo seguirá ejecutando el código hasta que lo detengas presionando Control + C. En este caso, el término “Hello World” seguirá apareciendo solo.

#!/bin/bash
for (( ; ; ))
do
  echo "Hello World!"
done

Uso de Bash For Loop para crear un bucle de tres expresiones

El bucle se compone de tres expresiones de escritura:un inicializador (EXP1 ), una condición (EXP2 ), y una expresión de conteo (EXP3 ). A veces, la gente lo llama el ciclo de estilo C debido a la gran similitud en la estructura del código. La sintaxis de este bucle es la siguiente:

for (( EXP1; EXP2; EXP3 ))
do
    command1
    command2
    command3
done

Aquí hay un comando de bucle de ejemplo que puede probar usted mismo:

#!/bin/bash
for (( c=1; c<=5; c++ ))
do  
  echo "Hai $c"
done

El código dice que el valor inicial es 1 . El bucle se ejecutará, siempre que se cumpla la condición en EXP2 es cierto, lo que significa que no debe ser mayor que 5 . Además, el ++ el signo muestra que el incremento es 1 . A continuación, repetirá el bucle uno por uno a partir del valor inicial. Resultado:

Hai 1
Hai 2
Hai 3
Hai 4 
Hai 5

Uso de Bash for Loop para crear el bucle Skip and Continue

La declaración de continuación salta el bucle por el valor indicado y continúa el bucle después. Así es como se vería la sintaxis:

for I in 1 2 3 4 5
do
 if [condition]
 then
    continue   #Go to next iteration of I in the loop and skip statements3
 fi
 statement
done

Siguiendo la sintaxis, podemos crear un comando bash skip y continue loop como este:

for i in {1..5}
do
  if [[ "$i" == '4' ]]
  then
    continue
  fi
  echo "Hai $i4"
done

El resultado de esta secuencia bash sería:

Hai 1
Hai 2
Hai 3
Hai 5

Dado que el valor 4 coincidió con la declaración de continuación, el ciclo no ejecutó el código y pasó al siguiente valor, que es 5 .

Uso de Bash for Loop para crear una salida condicional con Break Loop

El bucle le permite detener la operación si cumple la condición establecida. Esto puede ir seguido de otra instrucción. Aquí está la sintaxis:

for I in 1 2 3 4 5
  do
  if [condition]
  then
    break
  fi
  statement
done

Al usar esta función, nuestro comando de bucle se vería así:

for city in Manila Bangkok Jakarta Kuala Lumpur
do
  if [[ "$city" == 'Jakarta' ]]; then
    break
  fi
  echo "city: $city"
done

echo 'Yes, that’s all!'

Y la salida:

city: Manila
city: Bangkok
Yes, that’s all!

La declaración le dice al ciclo que interrumpa la operación una vez que la condición sea verdadera (encontrando el término Jakarta ). Luego ejecutará el segundo código, que está imprimiendo un texto que dice Sí, eso es todo.

Conclusión

Bash for loop es excelente para automatizar tareas repetitivas. Además de los ejemplos básicos anteriores, puede hacer mucho más. Por ejemplo, puede rastrear archivos y realizar muchas otras tareas. ¡La lista continúa!

Todo lo que necesita hacer es escribir los comandos de bucle. Puede ser una curva de aprendizaje, pero leer esta introducción es un buen comienzo. ¡La práctica siempre hace al maestro! ¡Buena suerte!


Linux
  1. ¿Paralelizar un Bash For Loop?

  2. Ejemplos de ciclos for y while de Bash

  3. Manteniéndote al tanto – Bash For, While, Until Ejemplos de bucles

  4. 12 ejemplos de Bash For Loop para su secuencias de comandos de Linux Shell

  5. Bash para ejemplos de bucle

Bash Scripting – Para bucle explicado con ejemplos

Bash For Loops con ejemplos

Bash For Loop:la guía más práctica

Bash Scripting Part2 – Bucles for y while con ejemplos

El Bash FOR Loop explicado y simplificado

Bash Script for Loop explicado con ejemplos