所以我一直試圖使用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