【发布时间】:2018-01-14 13:25:34
【问题描述】:
我正在尝试使用 ruby 中的 Open3 模块在 ruby 中执行“top -n 1”命令。
这是我的代码
command = "top -n 1"
Open3.popen3 (command) do |i,o,e,t|
i.close
exit_status = t.value
unless exit_status.success?
puts "NOPE"
end
t.value
end
我得到的只是没有。即使我尝试打印o.read 或o.gets,我得到的只是一个空行。
无论如何我可以使用 open3 来执行该命令吗?还有其他执行方式吗?我做错了吗?
我看到我可以使用反引号(`)来执行系统命令。这是一个好习惯吗?我看到几篇文章和博客说不是。
提前致谢。
【问题讨论】: