我尝试使用指定的环境变量set调用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打印任何内容。
答案 0 :(得分:1)
我是用它做的:
IO.popen([{'DISPLAY' => ':0.0'}, 'cucumber']) { |f| f.each { |line| print line } }