我使用传统模式通过getopt执行参数解码:
function mytest {
eval set -- `getopt --options h --long help -- "$@"`
echo "1:$1 2:$2"
}
但是当我传递一个带引号的字符串时,它实际上是扩展的,例如:
$ mytest 'x * z'
1:-- 2:<list of files from current dir>
奇怪的是,似乎只有特定结构'<string> * <other_strings>'
触发了行为;类似的结构不是:
$ mytest '* z'
1:-- 2:* z
$ mytest 'x *'
1:-- 2:x *
如何按预期进行评估?
答案 0 :(得分:2)
引用您的扩展以防止发送:
function mytest {
eval set -- "`getopt --options h --long help -- "$@"`"
echo "1:$1 2:$2"
}
答案 1 :(得分:0)
因为你在Clicked(date, jsEvent, view) {
// do something with new inputs..
alert("Alert from ng func");
}
中使用,所以除了禁用globs之外我没有看到另一个选项(扩展发生在命令实际运行之前。),即:
this