linux shell 传递带空格的数组

来源:互联网 发布:好看的古代小说知乎 编辑:程序博客网 时间:2024/06/05 07:15

本测试有两个程序,程序a接收所有的参数,并且过滤掉-skipTrash,然后调用程序b,程序b非常简单,只是把所有的参数都打印出来,证明参数是正确的。

程序a的源代码如下:

#!/bin/basharray=()for((i=1;i<=$#;i++)); do if [ "${!i}" != "-skipTrash" ]; then   array[${i}]="${!i}" fidonesh b "${array[@]}"

程序b的源代码如下:

#!/bin/bashecho "in proc b"echo "Number of parameters:" $#for((i=1;i<=$#;i++)); do echo ${!i}done


测试结果:

[houzhizhen@localhost bin]$ sh a "a b" "c d"  wer -skipTrash adfw a bin proc bNumber of parameters: 6a bc dweradfwab


0 0