问题描述:
shell 调用另一个脚本传入数组作为参数时会将数组转化为字符串,因为数组之间是空格分开的,所以就造成参数的个数发生混乱。
解决方法:
把数组用双引号括起来。
举例:
在main.sh中调用 test.sh
#!/bin/bash
DATAS=(
beijing
shanghai
shenzhen
)
echo "right way:"
bash test.sh 1 "${DATAS[*]}" 2
echo "wrong way:"
bash test.sh 1 ${DATAS[*]} 2
test.sh:
#!/bin/bash
echo ${1} ${2} ${3}
运行脚本main.sh后输出:
right way:
1 beijing shanghai shenzhen 2
wrong way:
1 beijing shanghai
最后
以上就是坚定胡萝卜最近收集整理的关于shell 将数组作为参数传入另一个脚本的全部内容,更多相关shell内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复