En este módulo, aprenderemos sobre los arrays y arrays asociativos en Bash. Los arrays son estructuras de datos que permiten almacenar múltiples valores en una sola variable. Los arrays asociativos, por otro lado, permiten almacenar pares clave-valor, lo que proporciona una forma más flexible de manejar datos.
- Arrays en Bash
1.1. Declaración de Arrays
En Bash, los arrays se pueden declarar de varias maneras:
# Declaración de un array vacío my_array=() # Declaración de un array con valores iniciales my_array=(valor1 valor2 valor3)
1.2. Acceso a Elementos del Array
Para acceder a un elemento específico de un array, utilizamos la sintaxis ${array[indice]}
:
# Acceder al primer elemento echo ${my_array[0]} # Salida: valor1 # Acceder al segundo elemento echo ${my_array[1]} # Salida: valor2
1.3. Añadir y Modificar Elementos
Podemos añadir o modificar elementos en un array especificando el índice:
# Añadir un nuevo elemento my_array[3]="nuevo_valor" # Modificar un elemento existente my_array[1]="valor_modificado"
1.4. Longitud del Array
Para obtener la longitud de un array, utilizamos la sintaxis ${#array[@]}
:
1.5. Iterar sobre un Array
Podemos iterar sobre los elementos de un array utilizando un bucle for
:
- Arrays Asociativos en Bash
2.1. Declaración de Arrays Asociativos
Los arrays asociativos se declaran utilizando la palabra clave declare -A
:
# Declaración de un array asociativo vacío declare -A my_assoc_array # Declaración de un array asociativo con valores iniciales declare -A my_assoc_array=([clave1]=valor1 [clave2]=valor2)
2.2. Acceso a Elementos del Array Asociativo
Para acceder a un elemento específico de un array asociativo, utilizamos la sintaxis ${array[clave]}
:
2.3. Añadir y Modificar Elementos
Podemos añadir o modificar elementos en un array asociativo especificando la clave:
# Añadir un nuevo elemento my_assoc_array[clave3]="nuevo_valor" # Modificar un elemento existente my_assoc_array[clave1]="valor_modificado"
2.4. Longitud del Array Asociativo
Para obtener la longitud de un array asociativo, utilizamos la sintaxis ${#array[@]}
:
2.5. Iterar sobre un Array Asociativo
Podemos iterar sobre los elementos de un array asociativo utilizando un bucle for
:
for clave in "${!my_assoc_array[@]}"; do echo "Clave: $clave, Valor: ${my_assoc_array[$clave]}" done
Ejercicios Prácticos
Ejercicio 1: Manipulación de Arrays
- Declara un array llamado
frutas
con los valores "manzana", "banana" y "cereza". - Añade "durazno" al array.
- Modifica el segundo elemento del array para que sea "plátano".
- Imprime todos los elementos del array.
Solución:
# Declaración del array frutas=("manzana" "banana" "cereza") # Añadir un nuevo elemento frutas[3]="durazno" # Modificar un elemento existente frutas[1]="plátano" # Imprimir todos los elementos for fruta in "${frutas[@]}"; do echo $fruta done
Ejercicio 2: Manipulación de Arrays Asociativos
- Declara un array asociativo llamado
capitales
con las claves "España", "Francia" y "Italia" y sus respectivos valores "Madrid", "París" y "Roma". - Añade la clave "Alemania" con el valor "Berlín".
- Modifica el valor de la clave "Italia" para que sea "Milán".
- Imprime todas las claves y valores del array asociativo.
Solución:
# Declaración del array asociativo declare -A capitales=([España]="Madrid" [Francia]="París" [Italia]="Roma") # Añadir un nuevo elemento capitales[Alemania]="Berlín" # Modificar un elemento existente capitales[Italia]="Milán" # Imprimir todas las claves y valores for pais in "${!capitales[@]}"; do echo "País: $pais, Capital: ${capitales[$pais]}" done
Conclusión
En esta sección, hemos aprendido sobre los arrays y arrays asociativos en Bash. Los arrays nos permiten almacenar múltiples valores en una sola variable, mientras que los arrays asociativos nos permiten manejar datos en pares clave-valor. Hemos cubierto cómo declarar, acceder, modificar y iterar sobre estos arrays, y hemos reforzado los conceptos con ejercicios prácticos. En el próximo módulo, exploraremos técnicas avanzadas de scripting en Bash.
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