经常发现需要用数组方式传参才能执行某些命令: 原因在于执行多参数的时候,空格被当做分隔符了,因此,你的命令行被当成多个参数了: 解决方法1: 使用${IFS},例如:
echo "a${IFS}a${IFS}a"
解决方法2: 在你要执行的shell指令前添加如下指令:
sh -c $@|sh . echo