Shell如何让一个数组像其他shell一样args?

时间:2015-09-30 10:08:36

标签: shell

我有两个shell脚本a.sh,b.sh。

--------a.sh---------

array=(1.1 1.2 1.3)

./b.sh $array

--------end a.sh---------


--------b.sh---------

packageVersionArr=$1

for i in ${packageVersionArr[@]}; do

    echo $i

done

--------end b.sh---------

console only print: 1.1

我的1.2和1.3在哪里?

1 个答案:

答案 0 :(得分:1)

$array是第一个元素,您需要${array[*]}。请参阅guide中的数组。

bash -x
$ array=(1.1 1.2 1.3)
+ array=(1.1 1.2 1.3)
$ ./b.sh $array
+ ./b.sh 1.1
...
$ ./b.sh ${array[*]}
+ ./b.sh 1.1 1.2 1.3
...