-
Расширение массива без индекса дает только первый элемент, используйте
copyFiles "${array[@]}"
вместо
copyFiles $array
-
Используй she-bang
#!/bin/bash
-
Используйте правильный синтаксис функции
Допустимыми вариантами являются
function copyFiles {…}function copyFiles(){…}function copyFiles() {…}
вместо
function copyFiles{…}
-
Используйте правильный синтаксис для получения параметра массива
arr=("$@")
вместо
arr="$1"
Следовательно
#!/bin/bashfunction copyFiles() { arr=("$@") for i in "${arr[@]}"; do echo "$i" done}array=("one 1" "two 2" "three 3")copyFiles "${array[@]}"
Вывод таков (мой скрипт имеет имя foo
)
$ ./foo one 1two 2three 3