En PC Resumen vamos a hablar de "Los diferentes tipos de bucles que existen en Bash" y como usarlos en cada caso. Hablaremos del while-do done, del until-do done y for-in-do done.

Bucle - while-do done

La sentencia while-do done se utiliza para ejecutar un grupo de comandos mientras una condición se cumpla (Sea verdadera). Veamos un ejemplo de como funciona pero antes una pequeña introducción a los diferentes tipos de comparadores y comandos que nos ayudaran a programar bien los bucles:

Tipo de comparadores

  • -gt: Sirve para compara si es mayor que
  • -ge: Sirve para comparar si es mayor o igual.
  • -le: Sirve para compara si es menor o igual.
  • -lt: Sirve para comparar si es menor que.
  • -eq: Sirve para compara si es igual que.
  • -ne: Sirve para saber si es distinto que.

Comando para operar con variables númericas

  • let: Nos permite trabajar fácilmente con variables numéricas en scripts como ahora hacer contadores.

Ejemplo práctico

#!/bin/bash
# En este Script vamos a ejecutar un bucle con un contador y hará un echo del valor de ese contador mientras ese valor sea inferior a 5.

contador=0
while [ $contador -lt 5 ];
do
echo $contador
let contador=$contador+1
done

Bucle - until-do done

La sentencia until-do done es totalmente lo contrario de while-do done, solo se termina el bucle cuando la condición es falsa. Veamos un ejemplo con este formato:

#!/bin/bash
# En este ejemplo vamos a hacer un contador que vaya descontado y que se salga del bucle cuando sea igual a 0

contador=10
until [ $contador -eq 0 ];
do
echo $contador
let contador=$contador-1
done

Bucle - for-in-do done

La diferencia con los anteriores bucles es que no se basa en una condición, sino que ejecuta el bucle una cantidad determinada de veces. Veamos un ejemplo:

#!/bin/bash
# En este ejemplo vamos a hacer que la condición nos saque con un echo cada uno de los argumentos que le pasamos por el "IN" del "FOR"

for NUMERO in 1 2 3 4 5 6
do
echo $NUMERO
done 

Con esto terminamos el artículo de "Los diferentes tipos de bucles que existen en Bash". En el próximo hablaremos de las "Redirecciones en Bash". Si tenéis alguna duda, podéis poneros en contacto con nostros desde el apartado de contacta de la Web, o bien escribiendo un E-mail a Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo..

Pin It