两个数组a=(1 2 3), b=(a b c)
现在有个函数fun(), a b 作为函数的参数, fun “a” “b”
fun()
{
local a=($1)
local b=($2)
ehco ${a[@]}
echo ${b[@]}
}
为何结果是1 2?
怎么才能得到结果:
1 2 3
a b c
酱紫就木问题了:
#!/bin/basha=(1 2 3)
b=(a b c)
fun()
{
local a=($1)
local b=($2)
echo ${a[*]}
echo ${b[*]}
}
fun "${a[*]}" "${b[*]}"
用 sh -x ./test.sh 这样调试执行,跟你原来的脚本比较,应该可以看出区别。
温馨提示:答案为网友推荐,仅供参考