【问题标题】:Execute non-blocking shell command with specified environment variables使用指定的环境变量执行非阻塞 shell 命令
【发布时间】:2013-02-28 12:01:29
【问题描述】:

我尝试调用设置了指定环境变量的 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 打印任何内容。

【问题讨论】:

    标签: ruby cucumber popen


    【解决方案1】:

    我是用:

    IO.popen([{'DISPLAY' => ':0.0'}, 'cucumber']) { |f| f.each { |line| print line } }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-24
      • 2017-10-03
      • 1970-01-01
      • 2020-03-07
      • 2017-10-10
      • 1970-01-01
      • 2014-06-01
      • 1970-01-01
      相关资源
      最近更新 更多