Bash mientras bucle con ejemplos

Bash mientras bucle con ejemplos

A mientras Loop es una estructura de control fundamental en las secuencias de comandos bash que le permite ejecutar un bloque de código repetidamente siempre que una determinada condición sea verdadera. While Loop es una herramienta esencial en la caja de herramientas de cualquier programador bash, y se utiliza para automatizar tareas, realizar operaciones en colecciones de datos e implementar algoritmos complejos.

En Bash Scripting, mientras que los bucles se pueden usar para realizar una amplia variedad de tareas, como leer y procesar archivos, generar informes, consultar bases de datos e interactuar con los usuarios. Mientras que los bucles también se usan a menudo en combinación con otras estructuras de control de bash, como declaraciones condicionales (si, elif, else) y otros bucles (para, hasta), para implementar algoritmos y scripts complejos.

En este tutorial, exploraremos la sintaxis básica de los bucles en Bash, y examinaremos cómo pueden usarse para automatizar tareas e implementar algoritmos complejos. También cubriremos algunos casos de uso comunes y las mejores prácticas para trabajar mientras los bucles, y proporcionaremos ejemplos de cómo usar mientras los bucles para resolver problemas del mundo real.

Sintaxis

Un bucle de tiempo es un tipo de bucle en Bash que le permite ejecutar repetidamente un conjunto de comandos siempre que una determinada condición sea verdadera. La sintaxis durante un bucle de tiempo es el siguiente:

Mientras que la condición haga # comandos para ejecutarlo hecho
1234mientras que condicióndo # comanda a ejecutedone

En este tutorial, cubriremos los conceptos básicos del uso de bucles en Bash.

Ejemplo básico

Comencemos con un ejemplo simple. Supongamos que desea contar del 1 al 5 e imprimir cada número. Puede usar un bucle de tiempo para hacer esto, así:

count = 1 while [$ count -le 5] do echo $ count count = $ ((conte+1)) hecho
123456count = 1 whiph [$ count -le 5] do echo $ count count = $ ((conte+1)) listo

En este ejemplo, hemos inicializado una variable llamada recuento a 1, y luego usamos un bucle de tiempo para imprimir repetidamente el valor del recuento siempre que sea menor o igual a 5. Dentro del bucle, imprimimos el valor del recuento usando el comando ECHO, y luego aumentamos el valor del recuento por 1 usando la sintaxis ((Conde+1)).

Usando una condición

La condición en un bucle de tiempo puede ser cualquier expresión de bash válida. Por ejemplo, puede usar una condición que pruebe el valor de una variable, como así:

respuesta = "no" while ["$ respuesta" != "Sí"] Do Read -P "¿Quieres continuar?? (sí/no) "Respuesta hecha
12345respuesta = "no" while ["$ respuesta" != "Sí"] Do Read -P "¿Quieres continuar?? (sí/no) "Respuesta

En este ejemplo, hemos inicializado una variable llamada respuesta a "no", y luego usamos un bucle de tiempo para pedirle al usuario que ingrese "sí" o "no" hasta que el usuario ingrese "sí". Dentro del bucle, usamos el comando Read para leer una línea de entrada del usuario, y luego probamos si el valor de la respuesta es "sí" usando ["$ respuesta" != "Sí"] sintaxis.

Usando la declaración de descanso

Puede usar la instrucción Break para salir un bucle de tiempo prematuramente. Por ejemplo:

count = 1 while [$ count -le 10] do si [$ count -eq 5] luego rompa fi echo $ count count = $ ((conte+1)) listo
12345678910count = 1 while [$ count -le 10] do si [$ count -eq 5] entonces rompa fi echo $ count count = $ ((conte+1)) listo

En este ejemplo, hemos usado un bucle de tiempo para contar de 1 a 10 e imprimir cada número. Sin embargo, también hemos incluido una declaración IF dentro del bucle que prueba si el valor del recuento es igual a 5. Si es así, usamos la instrucción Break para salir del bucle. Como resultado, este bucle solo imprimirá los números 1 a 4.

Usando la declaración continuar

Puede usar la instrucción Continuar para omitir a la siguiente iteración de un bucle de tiempo. Por ejemplo:

count = 1 while [$ count -le 5] do si [$ count -eq 3] entonces count = $ ((conte+1)) Continuar fi echo $ count count = $ ((count+1)) listo
1234567891011count = 1 whiphile [$ count -le 5] do si [$ count -eq 3] entonces count = $ ((conte+1)) Continuar fi echo $ count count = $ ((conte+1)) listo

En este ejemplo, hemos usado un bucle de tiempo para contar de 1 a 5 e imprimir cada número. Sin embargo, también hemos incluido una declaración IF dentro del bucle que prueba si el valor del recuento es igual a 3. Si es así, usamos la instrucción Continuar para omitir a la siguiente iteración del bucle. Como resultado, este bucle imprimirá los números 1, 2, 4 y 5, pero omita el número 3.

Lectura de archivo Línea por línea

Un caso de uso común para While Loops in Bash es leer y procesar archivos. Puede usar un bucle de tiempo para leer cada línea de un archivo y realizar alguna operación en él. Aquí hay un ejemplo:

#!/bin/bash filename = "Ejemplo.Txt "While Read Line do Echo" Línea de procesamiento: $ Línea " # Agregue su código para procesar la línea aquí < $filename
123456789#!/bin/bash filename = "Ejemplo.txt "While lea Linedo Echo" Línea de procesamiento: $ Línea " # Agregue su código para procesar la línea Heredone < $filename

En este ejemplo, definimos un nombre de archivo variable que contiene el nombre del archivo que queremos leer. Luego abrimos un bucle de tiempo usando el comando leer. Leerá una línea del archivo y la procesará con instrucciones dadas.

Anidado mientras bucle

También puede anidar mientras bucles dentro de los demás para crear bucles más complejos. Por ejemplo:

x = 1 mientras [$ x -le 3] do y = 1 mientras [$ y -le 3] hacer eco "($ x, $ y)" y = $ ((y+1)) hecho x = $ (((( x+1)) hecho
1234567891011x = 1 mientras [$ x -le 3] do y = 1 mientras [$ y -le 3] hacer eco "($ x, $ y)" y = $ ((y+1)) hecho x = $ ((x +1)) hecho

En este ejemplo, hemos usado un bucle de tiempo para contar de 1 a 3 e imprimir cada número, y luego anidaron otro bucle mientras cuente de 1 a 3 e imprima cada número nuevamente. Como resultado, este bucle imprimirá la siguiente salida:

Salida (1, 1) (1, 2) (1, 3) (2, 1) (2, 2) (2, 3) (3, 1) (3, 2) (3, 3) 

Conclusión

Mientras que los bucles son una herramienta poderosa en Bash que le permite repetir los comandos siempre que una determinada condición sea verdadera. Al dominar los conceptos básicos de los bucles, puede crear scripts más complejos y automatizar tareas comunes.