我在Windows上 我打开一个git bash shell并运行
logparser "select date from testFile.log" -i:IISW3C -o:CSV
这很有效。
但是如果我使用
创建一个.sh文件cmd_to_run='logparser "select date from testFile.log" -i:IISW3C -o:CSV'
$cmd_to_run
这不起作用,我得到logparser错误:
Error: detected extra argument ""select" after query
我只需要通过.sh脚本运行logparser。 你能帮忙吗?
答案 0 :(得分:0)
首先,你为什么不直接运行它?
转义查询中的空格,因为bash扩展了它,你获得了logparser而不是保留字符串的位置参数。如果这不起作用,请尝试eval
。
为了说明,这里有一个与wc相似的例子:
$ wc -w <<< "select date from testFile.log"
4
$ cmd_to_run='wc -w <<< "select date from testFile.log"'
$ $cmd_to_run
wc: <<<: No such file or directory
wc: "select: No such file or directory
wc: date: No such file or directory
wc: from: No such file or directory
wc: testFile.log": No such file or directory
0 total
$ eval $cmd_to_run # quote as appropriate
4