Bash mientras bucle con ejemplos
- 1084
- 208
- Sra. María Teresa Rentería
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 hecho1234 | mientras 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)) hecho123456 | count = 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 hecha12345 | respuesta = "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)) listo12345678910 | count = 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)) listo1234567891011 | count = 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í < $filename123456789 | #!/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)) hecho1234567891011 | 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 |
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.