0

我尝试使用设置的指定环境变量调用 shell 命令,并将命令的 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 回答