En el lenguaje de programación, existen principalmente tres tipos de bucles (for, while y till). Los tres tipos de bucles son importantes de diferentes maneras. No hay mucha diferencia entre los bucles while y till, pero el bucle for funciona de manera bastante diferente a estos dos. Es por eso que puede usar estos bucles para crear scripts interactivos como usuario de bash.
Entonces, aprender ejemplos de bash puede ayudarlo a mejorar sus habilidades para crear scripts. Entonces, en este tutorial, incluiremos 10 ejemplos geniales e impresionantes de bash loop que puede probar para mejorar sus habilidades de creación de scripts.
10 ejemplos geniales e impresionantes de bucles Bash
En esta sección, explicaremos varios ejemplos y los enfoques que hemos utilizado en los bucles.
Comando Seq con bucle en Bash
Puede usar el comando seq en el ciclo for para crear la secuencia de números. Por ejemplo, tiene un script bash 'File.sh' que contiene el siguiente código:
#!/bin/bash
por A en $ ( secuencia 5 2 25 )
hacer
eco 'numeros de $A son'
hecho
Obtendrá el siguiente resultado después de ejecutar el script en la terminal:
. / File.sh
Renombrar archivos usando bucle
Usando un script bash, puede usar los bucles for para cambiar el nombre de varios archivos. Por ejemplo, tiene varios archivos .txt y desea agregar la fecha actual con el nombre. Así que aquí está el script de ejemplo que puede usar:
#!/bin/bashpor A en $ ( ls * .TXT ) ; hacer
m.v. $A ( nombre base $A .TXT ) _$ ( fecha % d % metro % ) .TXT
hecho
Ahora, puede ejecutar el script y cambiará el nombre de todos los archivos .txt agregando la fecha actual:
Del mismo modo, puede cambiar las extensiones de un archivo a través de un solo script. Así que cambiemos la extensión .txt a .sh a través del siguiente script:
por expediente en * .TXT; hacer
m.v. -- ' $archivo ' '{archivo%.txt}.sh'
hecho
Después de ejecutar el script en la terminal, obtendrá los archivos .sh en lugar de .txt:
. / MyFile.sh
Bucle For Infinito en Bash
Cuando no se define ninguna condición de terminación en el bucle, se denomina bucle infinito. En este ejemplo de un bucle Bash, veremos el bucle for infinito en bash. El siguiente bucle for infinito se define mediante un punto y coma doble ( ; ; ) y no contiene ninguna parte inicial, de acción o de terminación.
La siguiente secuencia de comandos continuará hasta que presione Ctrl + C o escriba 'salir' como entrada. Este script imprimirá todos los números del 10 al 50 que se proporcionen como entrada. De lo contrario, imprimirá 'el número está fuera de rango'.
#!/bin/bash#Bucle infinito
por ( ( ; ; ) )
hacer
eco 'Ingrese un número entre 10 y 50'
leer norte
si [ $n == 'abandonar' ]
después
eco 'terminado'
salida 0
ser
si ( ( $n < 10 || $n > 50 ) )
después
eco 'El número está fuera de rango'
más
eco 'El numero es $n '
ser
hecho
Dimos 45 y 23 entradas válidas en el script anterior. Después de eso, imprimimos 2 como entrada, lo que indica en la salida que 'el número está fuera de rango'. Después de eso, para cerrar el script, escribimos quit como entrada. Aquí también puede presionar Ctrl+C para salir del ciclo infinito.
Bucle de tres expresiones en Bash
Se sabe por el nombre del bucle de tres expresiones que comprende tres expresiones, también llamadas expresiones de control. La primera expresión (EXP1) es el inicializador, la segunda expresión (EXP2) es la prueba o condición del ciclo y la tercera expresión (EXP3) es la expresión/paso de conteo. Ejecutemos un bucle de tres expresiones en bash:
#!/bin/bashpor ( ( norte = 5 ; norte > = 1 ; norte-- ) )
hacer
eco 'Libro $n '
hecho
Al ejecutar el script anterior, obtendrá el siguiente resultado.
Bucle con múltiples condiciones
Hemos usado el ciclo till con múltiples condiciones en el siguiente ejemplo de ciclo bash. En este script, tomamos 'm' y 'n', dos variables cuyos valores son 20 y 10, respectivamente, y mantuvimos el límite de 15. Aquí juntamos las condiciones 'm' y 'n' en el ciclo, en el que el ciclo se ejecutará hasta que el valor de 'm' sea menor que el límite y 'n' sea mayor que el límite.
#!/bin/bashlímite = 15
metro = 20
norte = 10
Hasta que [ [ $ millones -lt límite de $ || $n -gt límite de $ ] ] ;
hacer
eco 'Si M = $ millones entonces N = $n '
( ( metro-- ) )
( ( n++ ) )
hecho
Puede ver que ejecutar el script anterior se ejecutará hasta que los valores de 'm' y 'n' lleguen al mismo nivel.
Leer archivo en Bash
En bash, puede leer el contenido de un archivo de varias formas. En este ejemplo de bash loop, leeremos el contenido del archivo a través del nombre del archivo. Podemos usar el siguiente script para leer el archivo en bash:
#!/bin/basheco 'El contenido del archivo ingresado es:'
tiempo
leer línea
hacer
eco $línea
hecho < ~Documentos / Linuxhint.txt
Después de ejecutar el script anterior, puede leer el contenido completo del archivo ingresado.
Escribir en un archivo
Puede usar los bucles en el script para editar un archivo directamente desde la terminal. Por ejemplo, si tenemos un archivo txt 'Ejemplo.txt' y queremos agregar información, podemos usar el siguiente script:
Si ejecuta el script anterior, le pedirá que ingrese los detalles:
Una vez que ingrese los detalles, presione CTRL + D para guardar el archivo y CTRL + Z para finalizar el proceso con éxito.
Bucle de instrucción Break and Continue en Bash
En bash, puede continuar su declaración de bucle después del descanso. La sentencia break sale del ciclo y luego pasa el control a la siguiente sentencia dada. La iteración número dos comienza después de que se omita la iteración actual con la misma declaración de continuación.
#!/bin/bashen uno = 16
Hasta que falso
hacer
( ( en uno-- ) )
si [ [ $num -eq 13 ] ]
después
Seguir
elif [ [ $num - la 4 ] ]
después
descanso
ser
eco 'LinuxHint= $num '
hecho
En el siguiente script de bash, puede ver que cuando el 'num' es igual a 13, salta el resto del cuerpo del bucle y salta a la siguiente iteración. De manera similar, el ciclo se romperá cuando 'num' sea menor o igual a 4.
El script anterior muestra que el ciclo comienza en 15, se interrumpe en 13 y continúa hasta 5.
Cálculo de un promedio en Bash
Puede calcular el promedio ejecutando el script en un ciclo bash. En esto, el usuario puede calcular el promedio de números dentro de un rango definido. El siguiente script calcula el promedio de la entrada proporcionada por el usuario.
#!/bin/bashmarcas = '0'
PROMEDIO = '0'
SUMA = '500'
EN UNO = '5'
tiempo verdadero ; hacer
eco -norte 'Ingrese sus marcas o presione 'q' para abortar' ; leer marcas;
si ( ( ' $marcas ' < '0' ) ) || ( ( ' $marcas ' > '100' ) ) ; después
eco 'Por favor ingrese sus marcas'
elif [ ' $marcas ' == 'q' ] ; después
eco 'las notas promedio son: $PROMEDIO %'
descanso
más
SUMA =$ [ $SUMA + $marcas ]
EN UNO =$ [ $NUM + 1 ]
PROMEDIO =$ [ $SUMA / $NUM ]
ser
hecho
Si la entrada no está dentro del rango, se imprime un mensaje que dice 'Por favor ingrese sus marcas'. Cuando el usuario presiona “q” después de ingresar todas las marcas, el script calcula el promedio aproximado de todos los números ingresados.
Cuando se ejecuta el script anterior, su salida será algo como esto.
Lea los argumentos de la línea de comandos en Bash
En bash, puede leer argumentos de una sola línea de comando usando bucles. El script imprime los valores de los argumentos formateados. Ejecutamos argumentos de línea de comando en bash usando un bucle while en el siguiente script. A través de esto, imprimirá el valor pasando la opción válida del valor del argumento con la ayuda de un solo comando.
#!/bin/bashtiempo obtener opciones N:F:M: OPCIONAL
hacer
caso ' ${OPT} '
en
norte ) nombre = ${OPTARG} ;;
F ) nombre del Padre = ${OPTARG} ;;
METRO ) nombre de la madre = ${OPTARG} ;;
* ) eco 'Inválido'
salida 1 ;;
esac
hecho
imprimir 'Nombre: $nombre \norte Nombre del Padre: $nombre del padre \norte Nombre de la madre: $nombremadre \norte '
Por lo tanto, puede imprimir los valores de los argumentos formateados en la salida ejecutando el script anterior en un bash.
Terminando
Así que esta fue la breve información sobre los 10 geniales e increíbles ejemplos de bash loop que puedes aprender. Hemos utilizado diferentes tipos de bucles para crear fácilmente el guión interactivo. Además, también explicamos los enfoques básicos utilizados en los ejemplos anteriores. Si tiene detalles detallados sobre los bucles en bash, visite nuestro sitio web oficial para obtener más información.