¿cuanta gente a visto el blog?

Bucles en Bash

Al igual que en cualquier otro lenguaje, los bucles son muy convenientes. Con Bash puedes usar bucles for, while y until.

Bucles For Aquí está la estructura de un bucle for:

for var in ${list} do your_commands done

Ejemplo:

#!/bin/bash users="devdojo bobby tony" for user in ${users} do echo "${user}" done

Un resumen rápido del ejemplo: Primero, especificamos una lista de usuarios y almacenamos el valor en una variable llamada $users. Después de eso, comenzamos nuestro bucle for con la palabra clave for. Luego, definimos una nueva variable que representará cada elemento de la lista que damos. En nuestro caso, definimos una variable llamada user, que representará cada usuario de la variable $users. Luego especificamos la palabra clave in seguida de nuestra lista a la que recorreremos. En la siguiente línea, usamos la palabra clave do, que indica qué haremos en cada iteración del bucle. Luego especificamos los comandos que queremos ejecutar. Finalmente, cerramos el bucle con la palabra clave done.

También puedes usar for para procesar una serie de números. Por ejemplo, aquí hay una forma de recorrer del 1 al 10:

#!/bin/bash for num in {1..10} do echo ${num} done

Bucles While 

La estructura de un bucle while es bastante similar al bucle for:

while [ your_condition ] do your_conditions done

Aquí hay un ejemplo de un bucle while:

#!/bin/bash counter=1 while [[ $counter -le 10 ]] do echo $counter ((counter++)) done

Primero, especificamos una variable de contador y la establecemos en 1. Luego, dentro del bucle, aumentamos el contador utilizando esta declaración: ((counter++)). De esa manera, nos aseguramos de que el bucle se ejecute solo 10 veces y no se ejecute indefinidamente. El bucle se completará tan pronto como el contador se convierta en 10, ya que eso es lo que hemos establecido como condición: while [[ $counter -le 10 ]].

Vamos a crear un script que le pregunte al usuario su nombre y no permita una entrada vacía:

#!/bin/bash read -p "¿Cuál es tu nombre? " name while [[ -z ${name} ]] do echo "Tu nombre no puede estar en blanco. ¡Por favor ingresa un nombre válido!" read -p "¿Ingresa tu nombre de nuevo? " name done echo "¡Hola, ${name}!"

Ahora, si ejecutas lo anterior y simplemente presionas enter sin proporcionar entrada, el bucle se ejecutará nuevamente y te pedirá tu nombre una y otra vez hasta que realmente proporciones alguna entrada.

Bucles Until 

La diferencia entre los bucles until y while es que el bucle until ejecutará los comandos dentro del bucle hasta que la condición se vuelva verdadera. Estructura:

until [ your_condition ] do your_commands done

Ejemplo:

#!/bin/bash count=1 until [ $count -gt 10 ] do echo $count ((count++)) done

Continuar y Romper

Al igual que en otros lenguajes, puedes usar continue y break en tus scripts de bash también:

  • continue le dice a tu script bash que detenga la iteración actual del bucle y comience la siguiente iteración.
  • break le dice a tu script bash que termine el bucle de inmediato.


No hay comentarios.:

Publicar un comentario