用Ruby gem net读取Linux实例的stdout

我想用net-ssh在Ruby中编写脚本。 我已经通过一个基本的登录和执行“ls”与我的Linux ec2实例交谈:

Net::SSH.start('host', 'user', :password => "password") do |ssh|
  # capture all stderr and stdout output from a remote process
  output = ssh.exec!("ls")
  puts output
end

当我运行它,我得到我的主目录中的文件列表。 但是当我尝试使用相同的exec! 方法来运行一个程序并显示标准输出开始屏幕,它挂起试图返回输出。

该程序是我在学校用C ++编写的基于文本的Blackjack游戏。 我想这可能是一个问题,需要使用Buffer类来读取具有多个换行符的长字符串(有一些ASCII艺术)。 还有很多“系统('清除')”调用来清除控制台。 我试图在客户端控制台上逐个屏幕重现程序的执行。

这在概念上是一个简单的服务来实现,我只需要知道正确的类/方法。 任何实现示例都会有用。

链接地址: http://www.djcxy.com/p/25279.html

上一篇: Reading stdout of Linux instance with Ruby gem net

下一篇: Check if a private key is available from an agent using Ruby's Net::SSH