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:

  1. Dale un nombre a tu arreglo
  2. Seguido a ese nombre de variable pon un signo igual. El signo igual no debe tener espacios a su alrededor.
  3. Encierra el arreglo entre paréntesis (no corchetes como en JavaScript)
  4. 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.