Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell如何让数组与其他Shell参数相同?_Shell - Fatal编程技术网

Shell如何让数组与其他Shell参数相同?

Shell如何让数组与其他Shell参数相同?,shell,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

我有两个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在哪里?

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


如果我使用${array[*]},则不正确。b、 sh使用了“packageVersionArr=$1”。只得到1.1这是因为b.sh也有一个bug。
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
...