Sintaxis de For Loop:
# recorre una lista
Para el valor en la lista
hacer
comandos
hecho
# valores especificados de bucle
Para el valor en file1 file2 file3
hacer
comandos
hecho
# recorrer cadenas resultantes de un comando
Para el valor en $ (comando Linux)
hacer
comandos
hecho
# recorre los números de incremento o de disminución
# procedimiento tradicional para bucle
para ((i = 0; i<10; i++)
hacer
comandos
hecho
Según la sintaxis anterior, el bloque de inicio y finalización de para el bucle se define por hacer y hecho Palabras clave en el script bash. Los usos de diferentes bucles se han mostrado en la siguiente parte de este tutorial.
Ejemplo-1: Lectura de valores estáticos
Crear un archivo bash llamado bucle1.mierda con el siguiente script para leer los valores de una lista usando para bucle. En este ejemplo, se declaran 5 valores estáticos en las listas. Este bucle iterará 5 veces, y cada vez, recibirá un valor de las listas y lo almacenará en la variable llamada color que se imprimirá dentro del bucle.
#!/bin/bash
# Definir bucle para leer los valores de las cadenas
Para el color en azul verde rosa blanco rojo
hacer
# Imprime el valor de la cadena
echo "color = $ color"
hecho
La siguiente salida aparecerá después de ejecutar el script anterior.
Ejemplo-2: Reading Variable de matriz
Puede usar For Loop para iterar los valores de una matriz. Crear un nuevo archivo bash llamado bucle2.mierda Con el siguiente script. En este ejemplo, el bucle recupera los valores de una variable de matriz nombrada Lista de color, y imprimirá la salida solo si el Rosa El valor se encuentra en los elementos de la matriz.
#!/bin/bash
# Declarar y matriz
ColorList = ("Blue Red Blanco Pink Green Red")
# Definir bucle para iterar los valores de la matriz
para color en $ colorlist
hacer
# Verifique el valor es rosa o no
if [$ color == 'rosa']
entonces
Echo "Mi color favorito es $ color"
FI
hecho
La siguiente salida aparecerá después de ejecutar el script anterior.
Ejemplo-3: Lectura de argumentos de línea de comandos
Los valores de los argumentos de línea de comandos se pueden iterar utilizando para bucle en bash. Crear un nuevo archivo bash llamado bucle3.mierda con el siguiente script para leer e imprimir los valores de argumento de línea de comandos usando para bucle.
#!/bin/bash
# Definir el bucle para leer los valores de argumentos
para myval en $*
hacer
# Imprimir cada argumento
echo "Argumento: $ myval"
hecho
La siguiente salida aparecerá después de ejecutar el script anterior. Se han dado dos argumentos como argumentos de línea de comandos aquí. Estos son 'Linux' y 'Pista'.
Ejemplo-4: Encontrar un número impar y par de tres expresiones
La sintaxis de estilo C de bucle es tres sintaxis de expresión. La primera expresión indica inicialización, la segunda expresión indica la condición de terminación y la tercera expresión indica un incremento o disminución. Crear un archivo bash llamado bucle4.mierda con el siguiente script para averiguar los números impares e incluso de 1 a 5.
#!/bin/bash
# Definir para bucle en formato de estilo C
para ((n = 1; n<=5; n++ ))
hacer
# Verifique que el número sea uniforme o no
if (($ n%2 == 0))
entonces
echo "$ n es incluso"
demás
echo "$ n es extraño"
FI
hecho
La siguiente salida aparecerá después de ejecutar el script anterior.
Ejemplo-5: Contenido de lectura del archivo
Puede usar For Loop para leer el contenido de cualquier archivo utilizando el 'gato' dominio. Supongamos que tiene un archivo llamado 'día laborable.TXT'que contiene el nombre de todos los días de semana. Ahora, cree un archivo bash llamado 5.mierda para leer e imprimir el contenido del archivo.
#!/bin/bash
# Inicializar el mostrador
i = 1
# Definir para Loop para leer el archivo de texto
para var en 'Cat Weekday.TXT'
hacer
# Imprima el contenido del archivo
Echo "Día de la semana $ i: $ Var"
((i ++))
hecho
La siguiente salida aparecerá después de ejecutar el script anterior.
Ejemplo-6: Crear infinito para bucle
Crea una fiesta llamada bucle6.intento con el siguiente script para saber la forma de declarar infinito para bucle. Aquí, el bucle iterará para tiempos infinitos e imprimirá el valor de contador hasta que el usuario presione Ctrl+C.
#!/bin/bash
# Inicializar la variable de contador
contador = 1
# Muestra de mensaje para la terminación
Echo "Presione Ctrl+C para terminar desde el bucle"
# Definir bucle infinito
para (( ;; ))
hacer
# Imprimir el número de iteración
Echo "iterando por $ contaminación (s)."
# Espera 1 segundo
dormir 1
# Incrementa el contador
((contador ++))
hecho
La siguiente salida aparecerá después de ejecutar el script anterior.
Ejemplo-7: Uso de para el bucle con sustituto del comando
Crear un archivo bash llamado bucle7.intento con el siguiente script para conocer el uso de bucle para leer e imprimir la salida del comando.
#!/bin/bash
Echo "Todos los archivos BASH que comienzan con 'A' son:"
# Lea el sustituto de la salida del comando usando para bucle
para val en $ (ls a*.intento)
hacer
# Imprima el nombre del archivo
Echo "$ Val"
hecho
La siguiente salida aparecerá después de ejecutar el script anterior.
Ejemplo-8: salida condicional con descanso
Crear un archivo bash llamado bucle8.intento con el siguiente script para conocer la forma de salir desde el bucle en función de cualquier condición en particular.
#!/bin/bash
# Defina un bucle para iterar 10 veces
para ((i = 1; i<=10; i++ ))
hacer
# Defina las condiciones para terminar el bucle
if (($ i%3 == 0 && $ i%6 == 0))
entonces
# Terminar desde el bucle
Echo "terminó."
romper
demás
# Imprima el valor actual de I
echo "El valor actual de i es: $ i"
FI
hecho
La siguiente salida aparecerá después de ejecutar el script anterior.
Ejemplo-9: Continuación temprana con la declaración Continuar
Crear un archivo bash llamado bucle8.intento con el siguiente script para saber cómo omitir una o más declaraciones del bucle utilizando una declaración continua basada en la condición particular.
#!/bin/bash
# Declarar una matriz asociativa
declarar -A solicitantes
# Intializar los valores de la matriz
Solicitantes = ([1022] = "presente" [1034] = "presente" [1045] = "ausente" [1067] = "presente")
Echo "Lista de la identificación del solicitante que están presentes:"
para k en $ !Solicitantes[@]
hacer
# Filtrar la identificación del solicitante que esté ausente
if [$ solicitantes [$ k] == "ausente"]; entonces
continuar
demás
# Imprima la identificación del solicitante que está presente
Echo $ k
FI
hecho
La siguiente salida aparecerá después de ejecutar el script anterior.
Conclusión:
Se han explicado diferentes usos de bucle en este tutorial mediante el uso de varios ejemplos para ayudar a los usuarios de bash a conocer los propósitos de usar el bucle correctamente y aplicarlo en su script.