-
Expandir uma matriz sem um índice apenas fornece o primeiro elemento, use
copyFiles "${array[@]}"em vez de
copyFiles $array -
Use uma she-bang
#!/bin/bash -
Use a sintaxe correta da função
Variantes válidas são
function copyFiles {…} function copyFiles(){…} function copyFiles() {…}em vez de
function copyFiles{…} -
Use a sintaxe certa para obter o parâmetro da matriz
arr=("$@")em vez de
arr="$1"
Portanto
#!/bin/bash
function copyFiles() {
arr=("$@")
for i in "${arr[@]}";
do
echo "$i"
done
}
array=("one" "two" "three")
copyFiles "${array[@]}"
A saída é (meu script tem o nome foo )
$ ./foo
one
two
three