Con Bash per dichiarare esplicitamente un array bisogna utilizzare
declare -A mioarray
Per avere il valore dell'elemento 5 basta scrivere
echo $[mioarray[5]
mentre per cambiare il valore bisogna scrivere
mioarray[5]='nuovo valore'
${mioarray[*]} o ${mioarray[@]} viene espanso da tutti i valori dell'array mentre $[#mionome[@]} viene espanso con la lunghezza dell'array
Cosa possiamo fare con gli array? Ad esempio memorizzare l'output di un comando di cui ogni riga vorremmo che vada su un elemento differente.
IFS=$'\n' mioarray=($(ls -alh))
A questo punto possiamo stampare l'output come
IFS=$'\n' echo "${mioarray[*]}"
Attenzione: i doppi apici sono importanti per non avere l'output su un'unica riga.
Facendo così potremmo fare diversi test sullo stesso output catturato una sola volta.