如何在命令行中传递分组参数

时间:2018-09-07 14:59:44

标签: bash parameters grouping

我想传递三组参数,例如:

sh run.sh [1,4,6,8] [3,6,10,14] [8,16,32]

如果可能的话,如何访问脚本中的参数?

1 个答案:

答案 0 :(得分:4)

您可以将逗号分隔的数字作为参数传递给脚本:

bash run.sh "1,4,6,8" "3,6,10,14" "8,16,32"

请注意,我使用的是bash而不是sh,以便能够使用bash shell而不是posix sh

然后在run.sh脚本中,您可以使用IFS=, read -ra将每个参数拆分为shell数组:

IFS=, read -ra argarr1 <<< "$1"
IFS=, read -ra argarr2 <<< "$2"
IFS=, read -ra argarr3 <<< "$3"

并将每个数组用作:

for i in "${argarr1[@]}"; do
    echo "$i"
done