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
forEl 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"
doneExplicació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
whileEl 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++))
doneExplicación:
contador=1: Inicializa la variablecontadoren 1.while [ $contador -le 5 ]: Ejecuta el bucle mientrascontadorsea menor o igual a 5.echo "Contador: $contador": Imprime el valor decontador.((contador++)): Incrementacontadoren 1.
Ejercicio 2
Escribe un script que imprima los números del 10 al 1 utilizando un bucle while.
Solución:
- Bucle
until
untilEl 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++))
doneExplicación:
contador=1: Inicializa la variablecontadoren 1.until [ $contador -gt 5 ]: Ejecuta el bucle hasta quecontadorsea mayor que 5.echo "Contador: $contador": Imprime el valor decontador.((contador++)): Incrementacontadoren 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 deiyjen 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
doneConclusió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
