Para passar os elementos da matriz como argumentos para a função, use a sintaxe ksh para expandir os elementos da matriz como uma lista.
work_on_array "${myarray[@]}"
O sufixo [@]
torna isso uma expansão de matriz. As aspas duplas protegem cada elemento contra expansão adicional (divisão e globbing). O resultado da expansão não é, em geral, uma palavra como normalmente é com aspas duplas, mas tantas palavras quanto elementos no array.
O elemento N th da matriz é então ${N}
. Para acessá-lo, você precisa usar eval
; consulte Use uma referência de variável "dentro" de outra variável