Original article: Bash Array – How to Declare an Array of Strings in a Bash Script
Los scripts de Bash te otorgan una forma conveniente de automatizar las tareas de la línea de comandos.
Con Bash, puedes hacer muchas de las cosas que harías en otros lenguajes de secuencias de comandos o programación. Puedes crear y usar variables, ejecutar bucles, usar lógica condicional y almacenar datos en arreglos.
Si bien la funcionalidad puede ser muy familiar, la sintaxis de Bash puede ser complicada. En este artículo, aprenderás cómo declarar arreglos y luego cómo usarlos en tu código.
Cómo declarar un arreglo en Bash
Declarar un arreglo en Bash es fácil, pero presta atención a la sintaxis. Si estás acostumbrado a programar en otros lenguajes, el código puede parecerle familiar, pero hay diferencias sutiles que es fácil que te pasen por alto.
Para declarar tu arreglo, sigue estos pasos:
- Dale un nombre a tu arreglo
- Seguido a ese nombre de variable pon un signo igual. El signo igual no debe tener espacios a su alrededor.
- Encierra el arreglo entre paréntesis (no corchetes como en JavaScript)
- Escribe tus cadenas usando comillas, pero sin comas entre ellas
Tu declaración de arreglo se verá así:
miArreglo=("gato" "perro" "ratón" "rana")
¡Eso es todo! Así de simple.
Cómo acceder a un arreglo en Bash
Hay un par de formas diferentes de recorrer tu arreglo. Puedes recorrer los elementos mismos o recorrer los índices.
Cómo hacer un bucle a través de los elementos de un arreglo
Para recorrer los elementos del arreglo, tu código debe verse así:
for str in ${miArreglo[@]}; do
echo $str
done
Para desglosarlo: Es algo así como usar forEach
en JavaScript. Para cada cadena (str) en el arreglo (miArreglo), imprime esa cadena.
La salida de este bucle se ve así:
gato
perro
ratón
rana
Nota: El símbolo @
entre corchetes indica que está recorriendo todos los elementos del arreglo. Si tuvieras que omitir eso y simplemente escribir for str in ${miArray}
, solo se imprimiría la primera cadena de caracteres del arreglo.
Cómo hacer un bucle a través de índices del arreglo
Alternativamente, puedes recorrer los índices del arreglo. Esto es como un bucle for
en JavaScript, y es útil cuando deseas poder acceder al índice de cada elemento.
Para usar este método, tu código deberá tener un aspecto similar al siguiente:
for i in ${!miArreglo[@]}; do
echo "El elemento $i es ${miArreglo[$i]}"
done
La salida se verá así:
El elemento 0 es gato
El elemento 1 es perro
El elemento 2 es ratón
El elemento 3 es rana
Nota: El signo de exclamación al comienzo de la variable miArreglo
indica que está accediendo a los índices del arreglo y no a los elementos en sí. Esto puede ser confuso si estás acostumbrado al signo de exclamación que indica negación, así que presta mucha atención a eso.
Otra nota: Bash normalmente no requiere llaves para las variables, pero sí para los arreglos. Entonces verás que cuando hace referencia a un arreglo, lo hace con la sintaxis ${miArreglo}
, pero cuando hace referencia a una cadena o número, simplemente usa un signo de dólar: $i
.
Conclusión
Los scripts de Bash son útiles para crear un comportamiento de línea de comandos automatizado, y los arreglos son una gran herramienta que puedes usar para almacenar múltiples datos.
Declararlos y usarlos no es difícil, pero es diferente a otros lenguajes, así que presta mucha atención para no cometer errores.