如何在运行时获取ruby system()调用的STDOUT?

Mon*_*kin 9 ruby

类似于在Ruby中获取system()调用的输出,我正在运行系统命令,但在这种情况下,我需要在命令运行时输出STDOUT.

sep*_*p2k 13

在链接问题中,答案再次完全不使用system,因为system不支持这一点.

但是这次解决方案不是使用backticks,而是IO.popen返回一个IO对象,您可以使用该对象在生成时读取输入.

  • 谢谢,我最终使用`IO.popen('command_to_run'){| io | while(line = io.gets)do puts line end}` (7认同)