在bash中,我可以将数组作为函数的args传递(如xargs所做的那样)吗?

时间:2013-11-29 15:41:00

标签: bash git-bash

我正在使用bash脚本生成一个文件列表,其中每个文件名可能包含空格(在Windows上,使用Git Bash,我需要一些适用于Bash 3的文件)。

该脚本大致如下:

_my_function() {
  for i; do 
    echo $i
  done
}

_test() {
  local do_add_list
  do_add_list[0]='Some file'
  do_add_list[1]='Another file'  
  _my_function $do_add_list[@]
}

虽然我不想按原样传递数组,但我想将其作为_my_function的参数传递,如xargs或类似的,

_my_function 'Some file' 'Another file'

除了作为全局变量之外,我怎么能在 Bash 3 (bash3的msys端口)中做到这一点?

1 个答案:

答案 0 :(得分:5)

而不是

_my_function $do_add_list[@]

DO

_my_function "${do_add_list[@]}"