1

私は Windows ボックスを使用しています。git bash シェルを開いて実行します

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 を実行する必要があります。助けていただけますか?

4

2 に答える 2

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
于 2012-07-01T18:04:42.513 に答える