我已经做了好几次了,它似乎永远不能正常工作。谁能解释为什么?
function Foobar
{
cmd -opt1 -opt2 [email protected]
}
这是什么应该要做的就是让这个调用Foobar
做同样的事情与调用cmd
,但有一些额外的参数(-opt1
和-opt2
,在这个例子中)。
不幸的是,这不能正常工作。如果你所有的参数都没有空格,它就可以运行但是如果你想要一个带空格的参数,你可以用引号将它写出来,而Bash可以有用地去除引号,打破命令。我如何防止这种不正确的行为?
@ isaach1000这不相关,因为'$ @'不是用户定义的变量名 - 它是POSIX指定的名称,用于访问当前脚本或函数的参数列表。 –