10 ejemplos geniales e impresionantes de bash loop
Hay tres tipos principales de bucles (para, mientras y hasta) en el lenguaje de programación. Los tres tipos de bucles son importantes de diferentes maneras. No hay mucha diferencia entre los bucles while y till, pero los bucles for funcionan de manera muy diferente a esos dos. Debido a esto, puede usar estos bucles para crear scripts interactivos como usuario de bash. Por lo tanto, aprender ejemplos de bash puede ayudarlo a mejorar sus habilidades de secuencias de comandos. Por lo tanto, en este tutorial, vamos a compartir 10 ejemplos geniales y asombrosos de bucles bash que puede probar para mejorar sus habilidades de secuencias de comandos.
Contenidos
10 ejemplos geniales e impresionantes de bash loop
En esta sección explicamos diferentes ejemplos y los enfoques que usamos 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/bashfor A in $(seq 5 2 25)doecho «numbers of $A are»done Después de eso, obtiene el siguiente resultado Ejecutando el script en la terminal:
Renombrar archivos con bucle
Con un script bash, puede usar bucles for para cambiar el nombre de varios archivos. Por ejemplo, tiene varios archivos .txt y desea agregar la fecha actual con el nombre. Aquí está el script de muestra que puede usar: #!/bin/bashfor A in $(ls *.txt); domv $A (nombre base $A .txt)_$(fecha %d%m%).txtdone Ahora puede ejecutar el script y cambiará el nombre de todos los archivos .txt agregando la fecha actual:
Asimismo, puede cambiar las extensiones de un archivo con un solo script. Así que cambiemos la extensión .txt a .sh con el siguiente script: #!/bin/bashfor archivo en *.txt; domv — «$archivo» «{archivo%.txt}.sh»hecho Después de ejecutar el script en la terminal, obtendrá los archivos .sh en lugar de los archivos .txt:
Infinito bucle for en bash
Si no se define ninguna condición de terminación en el bucle, se denomina bucle sin fin. En este ejemplo de bucle Bash, consideremos el bucle for infinito en Bash. El siguiente bucle for sin fin se define mediante un punto y coma doble ( ; ; ) y no contiene partes de inicio, acción o final. El siguiente script continuará hasta que presione Ctrl+C o escriba «salir» como entrada. Este script imprimirá cualquier número del 10 al 50 dado como entrada. De lo contrario, se devuelve «Número fuera de rango». #!/bin/bash#infinite loopfor (( ; ; ))do echo «Ingrese un número entre 10 y 50» read n if [ $n == «quit» ] luego echo «terminado» exit 0 fi if (( $n < 10 || $n > 50 )) luego echo «El número está fuera de rango» else echo «El número es $n» fidone Hicimos 45 y 23 entradas válidas en el script anterior. Después de eso, generamos 2 como entrada, lo que muestra en la salida que «el número está fuera de rango». Después de eso damos quit como entrada para cerrar el script. Aquí también puede presionar Ctrl+C para salir del ciclo sin fin.
Bucle con tres expresiones en Bash
Por el nombre del bucle de tres términos, se sabe que consta de tres términos, también llamados términos 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 ciclo con tres expresiones en bash: #!/bin/bashfor (( n=5; n>=1; n– ))do echo «Book $n»done Si ejecuta el script anterior, obtenga el siguiente salida.
Bucle con múltiples condiciones
En el siguiente ejemplo de ciclo bash, usamos el ciclo hasta con múltiples condiciones. En este script, tomamos «m» y «n», dos variables cuyos valores son 20 y 10 respectivamente, y mantuvimos el límite de 15. Aquí hemos puesto las condiciones «m» y «n» juntas en el ciclo donde el ciclo se ejecuta hasta que el valor de «m» es menor que el límite y «n» es mayor que el límite. #!/bin/bashlimit=15m=20n=10bis [[ $m -lt $limit || $n -gt $limit ]];doecho «Si M = $m entonces N = $n»((m–))((n++))hecho Puede ver que ejecutar el script anterior se ejecuta hasta los valores de «m» y «n» llegar al mismo nivel.
Leer archivo en bash
En Bash, puede leer el contenido de un archivo de varias formas. En este ejemplo de bucle bash, estamos leyendo el contenido del archivo por nombre de archivo. Podemos usar la siguiente secuencia de comandos para leer el archivo en bash: #!/bin/bashecho «El contenido del archivo de entrada es:» whileread linedo echo $linedone <~Documentos/Linuxhint.txt Después de ejecutar la secuencia de comandos anterior, puede 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 alguna información, podemos usar el siguiente script:
Cuando ejecute el script anterior, se le solicitarán los detalles:
Una vez que haya ingresado los detalles, presione CTRL + D para guardar el archivo y CTRL + Z para completar el proceso con éxito.
Romper y continuar bucle de declaración 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 omitir la iteración actual con la misma declaración de continuación. #!/bin/bashnum=16hasta falsear ((num–)) si [[ $num -eq 13 ]]luego más elif [[ $num -le 4 ]]luego romper fi echo «LinuxHint = $num»done En el siguiente script bash, puede ver que si num es igual a 13, salta el resto del cuerpo del bucle y salta a la siguiente iteración. Asimismo, si num es menor o igual a 4, el ciclo se rompe.
La secuencia de comandos 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. Permite al usuario calcular el promedio de números dentro de un rango definido. El siguiente script calcula el promedio de las entradas proporcionadas por el usuario. #!/bin/bashmarks=»0″PROMEDIO=»0″SUMA=»500″NUM=»5″mientras sea verdadero; do echo -n «Ingrese sus notas o presione ‘q’ para cancelar»; Marcador; if ((«$marcas» < "0")) || (("$marks" > «100»)); luego echo «Por favor ingrese sus calificaciones» elif [ «$marks» == «q» ]; luego echo «Las calificaciones promedio son: $PROMEDIO%» break else SUM=$[$SUM + $marks] NÚMERO=$[$NUM + 1] PROMEDIO=$[$SUM / $NUM] fidone Si la entrada no está dentro del rango, se imprime el mensaje «Por favor ingrese sus calificaciones». Si 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 resultado se verá así.
Lea los argumentos de la línea de comando en Bash
En Bash, puede leer argumentos de línea de comandos individuales mediante bucles. El script genera los valores de los argumentos formateados. Ejecutamos argumentos de línea de comando en Bash usando un ciclo while en el siguiente script. Esto imprime el valor pasando la opción válida del valor del argumento usando un solo comando. #!/bin/bashwhile getopts N:F:M: OPTdo caso «${OPT}» en N) nombre=${OPTARG};; F) patronímico=${OPTARG};; M) nombre_madre=${OPTARG};; *) Salida de eco «no válida» 1;; esacdoneprintf «Nombre:$nombre\nNombre del padre:$nombre del padre\nNombre de la madre:$nombre de la madre\n» Para que pueda imprimir los valores de los argumentos formateados en la salida ejecutando el script anterior en un bash.
Envolver
Así que esa fue la breve información sobre los 10 geniales e increíbles ejemplos de bash loop para aprender. Utilizamos diferentes tipos de bucles para facilitar el guión interactivo. Además, también hemos explicado los enfoques básicos utilizados en los ejemplos anteriores. Si tiene información detallada sobre los bucles en Bash, visite nuestro sitio web oficial para obtener más información.