0

指定した環境変数を設定してシェル コマンドを呼び出し、コマンドの STDOUT をプログラムの STDOUT にリダイレクトしようとしています。

私は試した:

IO.popen({'DISPLAY' => ':0.0'}, "cucumber"){ |f| STDOUT.puts f.gets }

しかし、私はBroken pipeエラーが発生します。ブロックがない場合、このエラーは表示されません{ |f| STDOUT.puts f.gets }

コマンドの出力を STDOUT にリダイレクトするにはどうすればよいですか?

注:私は試しました:

IO.popen({'DISPLAY' => ':0.0'}, "cucumber", out: STDOUT)

ただし、STDOUT には何も出力されません。

4

1 に答える 1

1

私はそれを使用してそれをしました:

IO.popen([{'DISPLAY' => ':0.0'}, 'cucumber']) { |f| f.each { |line| print line } }
于 2013-02-28T13:46:59.423 に答える