BASH – LINUX – Como hacer bucles en shell script.-

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!'

Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

1 respuesta a BASH – LINUX – Como hacer bucles en shell script.-

  1. Rodrigo Espinoza dijo:

    Gracias por compartir tus conocimientos. Tus articulos me han servido bastante para automatizar tareas repetitivas que realizo en mi trabajo. Saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.