Cómo usar bash para bucle en Linux

Cómo usar bash para bucle en Linux

En lenguajes de programación, Bucles son componentes esenciales y se usan cuando desea repetir código una y otra vez hasta que se cumpla una condición especificada.

En Intento scripting, bucles Juega el mismo papel y se utilizan para automatizar tareas repetitivas al igual que en los lenguajes de programación.

En Intento Scripting, hay 3 tipos de bucles: en bucle, Mientras que el bucle, y Hasta el bucle. Los tres se usan para iterar en una lista de valores y realizar un conjunto dado de comandos.

En esta guía, nos centraremos en el Bash para bucle En Linux.

Bash para la sintaxis de bucle

Como se mencionó anteriormente, el en bucle itera sobre un rango de valores y ejecuta un conjunto de comandos.

En bucle Toma la siguiente sintaxis:

para variable_name en value1 value2 value3 ... n do command1 command2 commandn hecho 

Permítanos ahora verificar algunos usos de ejemplo de la fiesta para bucle.

Bash simple para bucle

En su forma más simple, la En bucle toma el siguiente formato básico. En este ejemplo, la variable norte itera sobre un grupo de valores numéricos encerrados en aparatos ortopédicos rizados e imprime sus valores a stdout.

para n en 1 2 3 4 5 6 7; hacer eco $ n 
Ejemplo de BASH para bucle

Bash para bucle con rangos

En los ejemplos anteriores, enumeramos explícitamente los valores a ser iterados por el en bucle, que funciona bien. Sin embargo, solo puede imaginar cuán engorroso y lento es una tarea que sería si itera, por ejemplo, cien valores. Esto lo obligaría a escribir todos los valores de 1 a 100.

Para abordar este problema, especifique un rango. Para hacerlo, especifique el número para comenzar y detener separado por dos períodos.

En este ejemplo, 1 es el primer valor, mientras que 7 es el último valor en el rango.

#!/bin/bash para n en 1 ... 7; hacer eco $ n 

Una vez que se ejecuta el script de shell, se enumeran todos los valores en el rango, similar a lo que teníamos en bucles simples.

Bash para el bucle con rangos de ejemplo

Además, podemos incluir un valor al final del rango que va a causar el en bucle para iterar a través de los valores en pasos incrementales.

El siguiente script bash imprime los valores entre 1 y 7 con 2 pasos incrementales entre los valores que comienzan desde el primer valor.

#!/bin/bash para n en 1 ... 7 ... 2; hacer eco $ n 
Bash para valores incrementados de bucle

Del ejemplo anterior, puede ver que el bucle incrementó los valores dentro de los aparatos rizados por 2 valores.

Bash para bucles con matrices

También puede iterar fácilmente a través de valores definidos en una matriz utilizando un En bucle. En el siguiente ejemplo, el en bucle itera a través de todos los valores dentro del matriz de frutas y los imprime a stdout.

#!/bin/bash fruits = ("arándano" "durazno" "mango" "piña" "papaya") para n en $ frutas [@]; hacer eco $ n 
Bash para el ejemplo de la matriz de bucle

El @ Accede al operador o se dirige a todos los elementos. Esto hace posible iterar sobre todos los elementos uno por uno.

Además, puede acceder a un solo elemento especificando su posición dentro de la matriz.

Por ejemplo, para acceder al "mango"Elemento, reemplace el @ operador con la posición del elemento en la matriz (el primer elemento comienza en 0, por lo que en este caso, "mango"Será denotado por 2).

Así es como se ve el bucle para.

#!/bin/bash frutas = ("arándano" "durazno" "mango" "piña" "papaya") para n en $ frutas [2]; hacer eco $ n 
Bash para bucles con elementos de matriz

Bash-C-Styled para bucles

Puede usar variables dentro de los bucles para iterar en una variedad de elementos. Aquí es donde Estado C para bucles Adelante. El siguiente ejemplo ilustra un Estilo C para bucle que imprime una lista de valores numéricos del 1 al 7.

#!/bin/bash n = 7 para ((n = 1; n<=$n ; n++ )); do echo $n done 
Bash-C-Styled para Loops Ejemplo

Bash-C-Styled para bucles con declaraciones condicionales

Puede incluir declaraciones condicionales en el interior Estado C para bucles. En el siguiente ejemplo, hemos incluido una declaración if-else que verifica e imprime números uniforme y impares entre 1 y 7.

#!/bin/bash para ((n = 1; n<=7; n++ )) do # Check if the number is even or not if (( $n%2==0 )) then echo "$n is even" else echo "$n is odd" fi done 
Bash-C-Styled para bucles declaraciones condicionales ejemplo

Use la instrucción 'Continuar' con Bash para bucle

El 'continuar'La declaración es un comando incorporado que controla cómo se ejecuta un script. Además de las secuencias de comandos bash, también se usa en lenguajes de programación como Python y Java.

El Declaración de continuar detiene la iteración actual dentro de un bucle Cuando se cumple una condición específica y luego reanuda la iteración.

Considera el en bucle mostrado a continuación.

#!/bin/bash para n en 1 ... 10 do si [[$ n -eq '6']] entonces se ha alcanzado el objetivo "se ha alcanzado" 
Bash para el ejemplo de la declaración continuar

Esto es lo que hace el código:

  • Línea 2: Marca el comienzo del bucle for e iterar la variable n de 1 a 10.
  • Línea 4: Comprueba el valor de n y si la variable es igual a 6, el script hace eco de un mensaje a stdout y reinicia el bucle en la siguiente iteración en la línea 2.
  • Línea 9: Imprime los valores en la pantalla solo si la condición en la línea 4 es falsa.

La siguiente es la salida esperada después de ejecutar el script.

BASH para la salida de la instrucción Continuar con bucle

Use la instrucción 'Break' con Bash para Loop

El 'romper' Declaración, como su nombre indica, detiene o termina la iteración cuando se cumple una condición.

Considera el En bucle abajo.

#!/bin/bash para n en 1 ... 10 do si [[$ n -eq '6']] entonces se ha alcanzado el objetivo " 
Declaración BASH para bucle break

Esto es lo que hace el código:

  • Línea 2: Marca el comienzo del bucle for e iterar la variable n de 1 a 10.
  • Línea 4: Verifica el valor de n y si la variable es igual a 6, el script se hace eco de un mensaje a stdout y detiene la iteración.
  • Línea 9: Imprime los números en la pantalla solo si la condición en la línea 4 es falsa.

Desde la salida, puede ver que el bucle se detiene una vez que la variable cumple con la condición del bucle.

BASH para salida de la declaración de ruptura de bucle
Conclusión

Ese fue un tutorial sobre Bash para bucles. Esperamos que hayas encontrado este perspicaz. Siéntase libre de soportar sus comentarios.