【发布时间】:2015-04-17 15:40:47
【问题描述】:
我正在编写一个调用apt-get 的ruby 脚本。我想记录/显示apt-get 命令的所有输出。
反引号、%x 和其余的大多返回最终输出(如果有的话)。
我还查看了 IO.popen 和 Open3.popen 系列,但它们在第一条消息后停止记录。
有没有办法在 shell 命令发生时转储所有输出?
【问题讨论】:
标签: ruby
我正在编写一个调用apt-get 的ruby 脚本。我想记录/显示apt-get 命令的所有输出。
反引号、%x 和其余的大多返回最终输出(如果有的话)。
我还查看了 IO.popen 和 Open3.popen 系列,但它们在第一条消息后停止记录。
有没有办法在 shell 命令发生时转储所有输出?
【问题讨论】:
标签: ruby
您可以为此使用IO::popen:
IO.popen("apt-get install foobar") do |apt|
apt.each do |line|
puts line
end
end
希望对你有帮助
【讨论】:
popen3 还允许捕获 STDERR 通道。