我的Ruby脚本正在运行一个shell命令并解析它的输出。但是,它似乎首先执行命令并将输出保存在一个数组中。我希望能够在打印时实时访问输出行。我玩过线程,但没有得到它的工作。有什么建议么?Ruby能否像访问shell命令一样访问输出?
12
A
回答
21
您正在寻找管。这里有一个例子:
# This example runs the netstat command via a pipe
# and processes the data in Ruby as it come back
pipe = IO.popen("netstat 3")
while (line = pipe.gets)
print line
print "and"
end
0
当调用方法/功能来运行系统/ shell命令解释程序产生另一个进程来运行它,并等待它完成,然后给你的输出。
即使你使用线程,你会做到的是不要让你的程序同时运行命令挂起,但你仍然不会得到输出,直到对其做的唯一的事情。
我认为你可以做到与管道,但我不知道怎么样。
@Marcel得到它。
相关问题
- 1. 访问VBA Shell命令不起作用
- 2. 访问命令WPF
- 3. 访问在逃逸中的最后一个git命令输出
- 4. 访问问题:输出不能在访问2007年
- 5. 是否有访问命令比<>
- 6. 如何像访问字典一样访问班级数据
- 7. 访问命令行参数
- 8. 我怎样才能从父指令访问ngModel的输入/ angularjs
- 9. 访问像数组一样的成员?
- 10. OSX Dashboard Widget命令行访问问题
- 11. 访问一个Jar的多个输出在shell脚本
- 12. 管道输出命令shell命令
- 13. 你能访问陷阱中退出命令的代码吗?
- 14. NSTextView的Shell命令输出
- 15. Windows Shell命令显示文件名和上次访问时间
- 16. 从shell命令访问正在运行的java程序
- 17. 在必须访问awk命令的awk脚本中使用shell命令
- 18. 格式化一个shell命令输出
- 19. 得到一个shell命令的输出
- 20. 通过RPC访问Ruby从Ruby通过RPC访问Ruby
- 21. 如何访问GUI输出?
- 22. 访问格式表输出
- 23. 访问查询 - 不一样
- 24. socket.io是否具有像sockjs一样的原始WebSocket访问?
- 25. 访问令牌?
- 26. 是否有可能访问
- 27. 访问Ruby线程
- 28. Ruby访问网页
- 29. authlogic单一访问令牌
- 30. 未经授权访问访问令牌
优秀的答案,非常感谢! – Ciryon 2010-04-30 06:12:59
输出实际上是缓冲的,直到命令完成,然后你会看到输出,如果你不关心实时性。 – user180574 2015-10-14 21:03:54