所以我一直试图使用Net :: SSH :: Multi使用通过SSH登录到多台计算机,然后使用session.exec(“some_command”)在远程计算机上执行shell命令。Net :: SSH :: Multi使用session.exec,你如何直接得到输出? Ruby
验证码:
#!/usr/bin/ruby
require 'rubygems'
require 'net/ssh'
require 'net/ssh/multi'
Net::SSH::Multi.start do |session|
# Connect to remote machines
### Change this!!###
session.use '[email protected]'
loop = 1
while loop == 1
printf(">> ")
command = gets.chomp
if command == "quit" then
loop = 0
else
session.exec(command)do |ch, stream, data|
puts "[#{ch[:host]} : #{stream}] #{data}"
end
end
end
end
我目前所面对的问题是,当我在交互式提示符下输入命令时,“session.exec”不UTIL我退出程序返回输出,我想知道是否有人遇到这个问题,并能告诉我如何解决这个问题?
无遗憾的是没有,它没有很努力!我已经发布了所有相关的代码供任何人测试! :P – chutsu 2009-09-05 22:08:51
我在ruby ssh会话中遇到了一个小问题。请帮帮我。 https://stackoverflow.com/questions/28799593/unix-commands-work-on-server-but-not-in-ruby-ssh-session谢谢。 – james 2015-03-02 01:03:16