在Bash中有一种方法可以通过myFun
传递像ARRAY
这样的内容,并在myFun
中打印下面的数组元素吗?
myFun {
echo ${$1[1]}
...
}
ARRAY=( first second last )
myFun "ARRAY"
我尝试过Bash返回糟糕的替换。
答案 0 :(得分:1)
你可以做到
myFun () {
tmp=$1[@]
array=("${!tmp}")
for i in "${array[@]}" ; do
echo "$i"
done
}
ARRAY=( 1 2 3 4 5 )
myFun ARRAY