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

两个数组a=(123),b=(abc)现在有个函数fun(),ab作为函数的参数,fun“a”“b”fun(){locala=($1)localb=($2)ehco${a... 两个数组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
展开
 我来答
百度网友5311d79
推荐于2017-11-26 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3220万
展开全部

酱紫就木问题了:

#!/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 这样调试执行,跟你原来的脚本比较,应该可以看出区别。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式