Cómo usar bash para bucle en Linux
- 2750
- 661
- Eduardo Tapia
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 $ nEjemplo 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 ejemploAdemá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 $ nBash 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 $ nBash 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 $ nBash 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 doneBash-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 doneBash-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 bucleUse 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 bucleConclusión
Ese fue un tutorial sobre Bash para bucles. Esperamos que hayas encontrado este perspicaz. Siéntase libre de soportar sus comentarios.
- « Cómo instalar Nagios Monitoring en Rhel, Rocky y Almalinux
- Las mejores herramientas para crear formularios PDF más rellenos en Linux »