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 bucles bash que puede intentar mejorar sus habilidades de secuencia de comandos.
10 ejemplos de bucle bash cool e impresionante
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 bucle for para crear la secuencia de números. Por ejemplo, tiene un archivo de script ".sh ”que contiene el siguiente código:
#!/bin/bash
por un en $ (SEQ 5 2 25)
hacer
echo "Los números de $ A son"
hecho
Obtendrá el siguiente resultado después de ejecutar el script en el terminal:
./Archivo.mierda
Cambiar el nombre de los archivos usando bucle
Usando un script bash, puede usar los bucles para cambiar el nombre de múltiples archivos. Por ejemplo, tienes múltiples .archivos txt y desea agregar la fecha actual con el nombre. Así que aquí está el script de ejemplo que puede usar:
#!/bin/bash
para x en $ (ls *.TXT); hacer
MV $ x $ (Basename $ x .txt) _ $ (fecha +%d%m).TXT
hecho
Ahora puede ejecutar el script, y cambiará el nombre de todos .archivos txt agregando la fecha actual:
./Mi archivo.mierda
Del mismo modo, puede cambiar las extensiones de un archivo a través de un solo script. Así que cambiemos el .extensión txt en .SH a través del siguiente script:
#!/bin/bash
para x en *.TXT; hacer
MV - "$ X" "$ x%.TXT.mierda
hecho
Después de ejecutar el script en el terminal, obtendrá el .sh en lugar de .archivos txt:
./Mi archivo.mierda
Infinito para bucle en Bash
Cuando no se define ninguna condición de terminación en el bucle, se llama bucle infinito. En este ejemplo de un bucle bash, veremos el bucle infinito en la fiesta. El siguiente infinito para bucle se define mediante un doble punto y coma (;) y no contiene piezas iniciales, de acción o terminación.
El script a continuación continuará hasta que presione Ctrl+C o escriba "Salir" como entrada. Este script imprimirá cada número de 10 a 50 que se proporciona como entrada. De lo contrario, imprimirá "el número está fuera de alcance."
#!/bin/bash
#Bucle infinito
para (( ; ; ))
hacer
Echo "Ingrese un número entre 10 y 50"
leer n
Si [$ n == "salga"]
entonces
Echo "terminado"
Salir 0
FI
if (($ n < 10 || $n > 50))
entonces
echo "El número está fuera de alcance"
demás
Echo "El número es $ N"
FI
hecho
Dimos 45 y 23 entradas válidas en el script anterior. Después de eso, imprimimos 2 como entrada que indica en la salida que "el número está fuera de rango."Después de eso, para cerrar el script, escribimos renunciar como entrada. Aquí también puede presionar Ctrl+C para dejar el bucle infinito.
Tres bucle de expresión 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 de bucle, y la tercera expresión (exp3) es la expresión/paso de conteo. Ejecutemos un bucle de tres expresiones en Bash:
#!/bin/bash
para ((n = 5; n> = 1; n--))
hacer
Echo "Libro $ N"
hecho
Al ejecutar el script anterior, obtendrá la siguiente salida.
Bucle con múltiples condiciones
Hemos usado el bucle hasta el bucle con múltiples condiciones en el siguiente ejemplo de bucle de bash. En este guión, tomamos "M" y "N", dos variables cuyos valores son 20 y 10, respectivamente, y mantuvimos el límite de 15. Aquí colocamos condiciones "M" y "N" en el bucle, en las que el bucle se ejecutará hasta que el valor de "M" sea menor que el límite y "N" es más que el límite.
#!/bin/bash
límite = 15
M = 20
n = 10
Hasta [[$ m -lt $ limit || $ n -gt $ límite]];
hacer
echo "Si m = $ m 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 maneras. En este ejemplo de Bash Loop, leeremos el contenido del archivo a través del nombre de archivo. Podemos usar el siguiente script para leer el archivo en bash:
#!/bin/bash
echo "El contenido del archivo ingresado es:"
mientras
línea de lectura
hacer
echo $ line
hecho <~Documents/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 el terminal. Por ejemplo, si tenemos un archivo txt "ejemplo.txt ", y queremos agregar información, luego podemos usar el siguiente script:
Si ejecuta el script anterior, le pedirá que ingrese los detalles:
Una vez que ingrese los detalles, Ctrl + D para guardar el archivo y Ctrl + Z para finalizar el proceso con éxito.
Romper y continuar el bucle de instrucción en Bash
En Bash, puede continuar su declaración de bucle después del descanso. La declaración de descanso sale del bucle y luego pasa el control a la siguiente declaración dada. La iteración número dos comienza después de que la iteración actual se omite con la misma declaración continua.
#!/bin/bash
num = 16
Hasta falso
hacer
((NUM--))
if [[$ num -eq 13]]
entonces
continuar
Elif [[$ num -le 4]]
entonces
romper
FI
echo "linuxhint = $ num"
hecho
En el siguiente script bash, puede ver que cuando el "número" es igual a 13, omite el resto del cuerpo del bucle y salta a la siguiente iteración. Del mismo modo, el bucle se romperá cuando "num" es menor o igual a 4.
El script anterior muestra que el bucle comienza en 15, se rompe a las 13 y continúa hasta las 5.
Calcular un promedio en Bash
Puede calcular el promedio ejecutando el script en un bucle de 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/bash
Marks = "0"
Promedio = "0"
Sum = "0"
Num = "0"
mientras que es cierto; hacer
echo -n "Ingrese sus marcas para calcular el promedio o presione 'Q' para abortar/terminar:"; Leer marcas;
if ["$ Marks" = "Q"]; entonces
echo "Las marcas promedio son: $ promedio"
romper
Elif ["$ Marks" -lt 50] || ["$ Marks" -gt 100]; entonces
Echo "Las marcas deben estar entre 50 y 100. Por favor ingrese sus marcas: "
demás
Suma = $ (($ suma + $ marcas))
Num = $ (($ num + 1))
Promedio = $ (($ suma / $ num))
FI
hecho
Si la entrada no está dentro del rango, se imprime un mensaje que “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 línea de comandos individuales utilizando bucles. El script imprime los valores de argumento formateado. Ejecutamos argumentos de línea de comandos en bash usando un bucle de tiempo en el siguiente script. A través de esto, imprimirá el valor que pasa la opción Valor Valor con la ayuda de un solo comando.
#!/bin/bash
Mientras Getopts N: F: M: Opt
hacer
caso "$ opt" en
N) nombre = $ Optarg ;;
F) fathername = $ Optarg ;;
M) MotherName = $ Optarg ;;
*) echo "inválido"
salida 1 ;;
ESAC
hecho
printf "Nombre: $ Nombre \ Nfather Nombre: $ Fathername \ nmother Nombre: $ Mothername \ n"
Por lo tanto, puede imprimir los valores de argumento formateado en la salida ejecutando el script anterior en una fiesta.
Terminando
Así que esta fue la breve información sobre los 10 ejemplos de bucle de bash cool e impresionante que puede aprender. Hemos utilizado diferentes tipos de bucles para crear el script interactivo fácilmente. 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 saber más.