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
.
- Bucle
for
for
El bucle for
se utiliza para iterar sobre una lista de elementos. La sintaxis básica es:
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:
- Bucle
while
while
El bucle while
ejecuta comandos mientras una condición sea verdadera. La sintaxis básica es:
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 variablecontador
en 1.while [ $contador -le 5 ]
: Ejecuta el bucle mientrascontador
sea menor o igual a 5.echo "Contador: $contador"
: Imprime el valor decontador
.((contador++))
: Incrementacontador
en 1.
Ejercicio 2
Escribe un script que imprima los números del 10 al 1 utilizando un bucle while
.
Solución:
- Bucle
until
until
El bucle until
es similar al while
, pero ejecuta comandos hasta que una condición sea verdadera. La sintaxis básica es:
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 variablecontador
en 1.until [ $contador -gt 5 ]
: Ejecuta el bucle hasta quecontador
sea mayor que 5.echo "Contador: $contador"
: Imprime el valor decontador
.((contador++))
: Incrementacontador
en 1.
Ejercicio 3
Escribe un script que imprima los números del 5 al 1 utilizando un bucle until
.
Solución:
- 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
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 dei
yj
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.
Curso de Programación en Bash
Módulo 1: Introducción a Bash
- ¿Qué es Bash?
- Configurando tu Entorno
- Navegación Básica en la Línea de Comandos
- Entendiendo el Shell
Módulo 2: Comandos Básicos de Bash
- Operaciones con Archivos y Directorios
- Comandos de Procesamiento de Texto
- Permisos y Propiedad de Archivos
- Redirección y Tuberías
Módulo 3: Fundamentos de Scripting
Módulo 4: Scripting Intermedio
Módulo 5: Técnicas Avanzadas de Scripting
- Operaciones Avanzadas con Archivos
- Gestión de Procesos
- Manejo de Errores y Depuración
- Expresiones Regulares
Módulo 6: Trabajando con Herramientas Externas
Módulo 7: Automatización y Programación
Módulo 8: Mejores Prácticas y Optimización
- Escribiendo Código Legible
- Optimizando Scripts en Bash
- Consideraciones de Seguridad
- Control de Versiones con Git