1

groovy を使用して、デバッグ モードを含む bash スクリプトを実行してset -xいます。次のように実行しています。

    def proc = "bash hello.sh".execute()  
    proc.in.eachLine { line -> println line }
    proc.waitForOrKill(100*1000)             

を使用してコマンド プロンプトから直接実行するとbash hello.sh、echo 行と + 行が表示されます。

Tue Jun 11 10:52:42 IDT 2013:: Running 
+ mkdir -p folder
+ tar -xzf file
...

しかし、Groovy から実行すると、エコー行だけが表示されます!

Tue Jun 11 10:52:42 IDT 2013:: Running

どうしたんだ?これは Groovy/Java のバグですか?

4

1 に答える 1

2

追加してみる

proc.consumeProcessOutput(System.out, System.err)

終了するのを待つ前に (proc.in.eachLineラインの代わりに)

于 2013-06-11T08:10:03.633 に答える