-
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