Recorrer array en Shell Script
Para declarar un array en un script de Bash podemos hacerlo incluyendo los elementos entre paréntesis y separados por un espacio:
myarray=(uno dos tres)
Si tenemos que incluir espacios en un elemento del array, lo podemos hacer escapando el espacio con \:
myarray=(uno dos tres tres\ y\ medio)
Para poder trabajar con un array, tendremos que indicar el nombre del array entre llaves. Por ejemplo, para acceder al primer elemento escribiremos:
echo ${myarray[0]}
Y para poder acceder a todos los elementos del array, lo haremos indicando en lugar de un índice, la arroba:
echo ${myarray[@]}
Para recorrer los distintos elementos del array, lo haremos con un for:
for item in "${myarray[@]}"
Entrecomillando el array conseguiremos que si hay un escape, lo entienda como tal.
Por lo tanto, si queremos recorrer elemento por elemento ese array, escribiremos:
#!/bin/bash myarray=(uno dos tres tres\ y\ medio) for item in "${myarray[@]}" do echo $item done
Pingback: Tutorial de Shell Script – Linux en Español