0

結果を while read 行ループにパイプするために、Cygwin で実行されているシェル スクリプトから .exe ファイルを呼び出すことは可能ですか?

私が試したコードはLinuxで動作しています(inotifywaitはCygwinで試しているアプリケーションで、Linuxにインストールされています)

Windows 用の inotifywait の .exe バージョンを見つけましたが、Cygwin のパイプから読み取るための読み取り行ループを取得できないようです。

以下のコードは、シェル スクリプトから inotifywait.exe を初期化できますが、Cygwin ターミナルに行を出力することはありません。

DIR="c:/tmp" 
./inotifywait -mr -e create,modify,delete,move \
--timefmt '%m/%d/%y %H:%M:%S' --format '%T;%f;%e;%w' $DIR |
while read line
do 
  echo $line
done
4

2 に答える 2

0

オッズはinotifywaitstderrに出力されています。この場合、 stderr もパイプする必要があります

./inotifywait |& while read line
               ^
               | |
               --- アンパサンドに注意してください
于 2013-05-02T01:09:48.143 に答える