在OS X上的bash中,我可以创建一个这样的函数:
function bla() { echo "$@"; }
现在我做的时候:
bla foo bar
输出是obvous:foo bar
当我执行bla "foo bar"
或bla foo\ bar
时,在这两种情况下,输出仍为foo bar
。
不是"foo bar"
或foo\ bar
。
我理解为什么,但有没有办法让函数输出所有参数完全指定?
答案 0 :(得分:-2)
我只在Linux上试过这个,但我猜它在OS X上会是一样的。你必须用反斜杠转义所有特殊字符。所以你的功能将是相同的,但当你调用它时,你必须逃避你想要回声的角色,例如。
bla \"foo bar\"
或
bla foo\\ bar
希望有所帮助。