Los Bucles, en programación, son uno de los pilares fundamentales en los cuales nos apoyamos a la hora de desarrollar cualquier tipo de aplicación, bien sea una web, una APP para Android o IOS, una aplicación de escritorio etc…
BUCLE WHILE – En el siguiente ejemplo, podemos ver que, mientras la variable $contador sea menor o igual a 15, imprimiremos un mensaje por pantalla. Una vez que la variable tenga el valor 15, el bucle finalizará y el script imprimirá otro mensaje de finalización.
#!/bin/bash
# Bucle básico While
contador=1
while [ $contador -le 15 ]
do
echo "Este es el mensaje número" $contador
((contador++))
done
echo "Bucle finalizado"
BUCLE UNTIL – En el siguiente ejemplo, la variable $contador se inicializa con un valor de 1. Hasta que la variable $contador no sea superior a 10, la variable $contador se incrementará en +1 hasta que sea superior a 10. El código es el siguiente:
#!/bin/bash
# Bucle básico Until
contador=1
until [ $contador -gt 10 ]
do
echo "El valor de la variable $contador es: " $contador
((contador++))
done
echo "Bucle finalizado. Enhorabuena!"
BUCLE FOR – n el siguiente ejemplo, vamos a crear una serie de elementos (marchas de coches) que asignaremos a la variable coche y que posteriormente iremos recorriendo uno a uno para mostrar el nombre de cada una de las marcas. Lo que hace el bucle básicamente es, para cada uno de los elementos, hacer N cosas:
#!/bin/bash
# Bucle básico For
coches='Ford Seat Mercedes Fiat Opel'
print "El listado de marcas de coches es:"
for coche in $coches
do
echo $coche
done
echo "Bucle <for> finalizado!"
BREAK y CONTINUE EN BUCLES – Aunque no son realmente ningún tipo de bucle, break y continue se suelen utilizar dentro de los bucles vistos anteriormente para obligar al bucle a seguir o salirse de la ejecución. En el siguiente ejemplo, $a toma valores entre 0 y 10, pero si a=5, el bucle finalizará:
#!/bin/bash
a=0
while [ $a -lt 10 ]
do
echo "Valor: $a"
((i++))
if [[ "$a" == '5' ]]; then
break
fi
done
En el siguiente ejemplo, $a toma valores entre 0 y 10, y se mostrará un mensaje solo cuando a sea diferente de 7:
#!/bin/bash
a=0
while [ $a -lt 10 ]
do
((a++))
if [[ "$a" == '7' ]]; then
continue
fi
echo "Valor: $a"
done
echo 'Finalizado!'
Gracias por compartir tus conocimientos. Tus articulos me han servido bastante para automatizar tareas repetitivas que realizo en mi trabajo. Saludos.