Los bucles son una estructura fundamental en cualquier lenguaje de programación, y Bash no es la excepción. Los bucles permiten ejecutar una serie de comandos repetidamente hasta que se cumpla una condición específica. En Bash, los bucles más comunes son for, while y until.

  1. Bucle for

El bucle for se utiliza para iterar sobre una lista de elementos. La sintaxis básica es:

for variable in lista
do
    comandos
done

Ejemplo Práctico

#!/bin/bash

# Lista de nombres
nombres=("Ana" "Luis" "Carlos" "Marta")

# Iterar sobre la lista de nombres
for nombre in "${nombres[@]}"
do
    echo "Hola, $nombre"
done

Explicación:

  • nombres=("Ana" "Luis" "Carlos" "Marta"): Define un array de nombres.
  • for nombre in "${nombres[@]}": Itera sobre cada elemento del array.
  • echo "Hola, $nombre": Imprime un saludo para cada nombre.

Ejercicio 1

Escribe un script que imprima los números del 1 al 10 utilizando un bucle for.

Solución:

#!/bin/bash

for i in {1..10}
do
    echo $i
done

  1. Bucle while

El bucle while ejecuta comandos mientras una condición sea verdadera. La sintaxis básica es:

while condición
do
    comandos
done

Ejemplo Práctico

#!/bin/bash

contador=1

# Ejecutar mientras contador sea menor o igual a 5
while [ $contador -le 5 ]
do
    echo "Contador: $contador"
    ((contador++))
done

Explicación:

  • contador=1: Inicializa la variable contador en 1.
  • while [ $contador -le 5 ]: Ejecuta el bucle mientras contador sea menor o igual a 5.
  • echo "Contador: $contador": Imprime el valor de contador.
  • ((contador++)): Incrementa contador en 1.

Ejercicio 2

Escribe un script que imprima los números del 10 al 1 utilizando un bucle while.

Solución:

#!/bin/bash

contador=10

while [ $contador -ge 1 ]
do
    echo $contador
    ((contador--))
done

  1. Bucle until

El bucle until es similar al while, pero ejecuta comandos hasta que una condición sea verdadera. La sintaxis básica es:

until condición
do
    comandos
done

Ejemplo Práctico

#!/bin/bash

contador=1

# Ejecutar hasta que contador sea mayor que 5
until [ $contador -gt 5 ]
do
    echo "Contador: $contador"
    ((contador++))
done

Explicación:

  • contador=1: Inicializa la variable contador en 1.
  • until [ $contador -gt 5 ]: Ejecuta el bucle hasta que contador sea mayor que 5.
  • echo "Contador: $contador": Imprime el valor de contador.
  • ((contador++)): Incrementa contador en 1.

Ejercicio 3

Escribe un script que imprima los números del 5 al 1 utilizando un bucle until.

Solución:

#!/bin/bash

contador=5

until [ $contador -lt 1 ]
do
    echo $contador
    ((contador--))
done

  1. Bucles Anidados

Los bucles pueden anidarse, es decir, puedes tener un bucle dentro de otro bucle. Esto es útil para trabajar con estructuras de datos más complejas.

Ejemplo Práctico

#!/bin/bash

for i in {1..3}
do
    for j in {1..3}
    do
        echo "i: $i, j: $j"
    done
done

Explicación:

  • El bucle externo itera sobre los valores de 1 a 3.
  • El bucle interno también itera sobre los valores de 1 a 3.
  • echo "i: $i, j: $j": Imprime los valores de i y j en cada iteración.

Ejercicio 4

Escribe un script que imprima una tabla de multiplicar del 1 al 3 utilizando bucles anidados.

Solución:

#!/bin/bash

for i in {1..3}
do
    for j in {1..3}
    do
        resultado=$((i * j))
        echo "$i * $j = $resultado"
    done
done

Conclusión

En esta sección, hemos aprendido sobre los bucles for, while y until en Bash, así como sobre los bucles anidados. Los bucles son herramientas poderosas que permiten automatizar tareas repetitivas y trabajar con conjuntos de datos de manera eficiente. Asegúrate de practicar los ejemplos y ejercicios para dominar estos conceptos fundamentales.

En el próximo tema, exploraremos las funciones en Bash, que nos permitirán modularizar y reutilizar nuestro código de manera más efectiva.

© Copyright 2024. Todos los derechos reservados