10 ejemplos geniales e impresionantes de bucles Bash

10 Ejemplos Geniales E Impresionantes De Bucles Bash



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/bash
por 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:

. / MyFile.sh

 

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:

#!/bin/bash
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/bash
por   ( ( 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/bash
lí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/bash
eco '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/bash
en 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/bash
marcas = '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/bash
tiempo 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.