Shell-shell脚本中如何把一个数组作为参数传递给脚本?

Shell-shell脚本中如何把一个数组作为参数传递给脚本?

虐人心 发布于 2017-03-21 字数 175 浏览 1217 回复 3

shell脚本中需要接受一个命令行中传递过来的脚本,在shell中数组是这样定义的
arr=(1 2 3 4 5 6 7)
可是空格是作为参数的分隔,请问如何把数组作为参数传递给shell脚本?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甜柠檬 2017-09-24 3 楼

首先构造一个数组:atest=("a" "bb cc" "dd ee ff" "gg hh ii jj")
./test.sh "${atest[@]}"
执行结果:
a
bb cc
dd ee ff
gg hh ii jj
a0

不知道你是不是要这种的

归属感 2017-09-05 2 楼

传递方法:
./脚本名.sh ${数组名[@]}

泛泛之交 2017-07-17 1 楼

#!/bin/bash
IFS=' '
arr=($1)
for v in ${arr[@]}
do
echo "$v"
done

./1.sh 'aaa bbb ccc log'
输出
aaa
bbb
ccc
log