Shell中如何将多个数组作为函数的参数

两个数组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/bash
a=(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 这样调试执行,跟你原来的脚本比较,应该可以看出区别。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网