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: valor21.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]}"
doneEjercicios Prácticos
Ejercicio 1: Manipulación de Arrays
- Declara un array llamado
frutascon 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
doneEjercicio 2: Manipulación de Arrays Asociativos
- Declara un array asociativo llamado
capitalescon 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]}"
doneConclusió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
