我正在调用一种方法:
Net::SSH.start( value, USER, :password => PASS, :keys => ["/keys/id_rsa"] ) do|ssh|
mess = ssh.sudo "password", "apt-get upgrade"
end
方法是:
class Net::SSH::Connection::Session
def sudo password, command
exec %Q%echo "#{password}" | sudo -S #{command}% do |channel, stream, data|
stdout << data if stream == :stdout
end
return stdout
end
end
稍后,我发送一封包含乱码变量的电子邮件,这很好。
但是,如果我想运行一系列主机并尝试将混乱添加到像results << mess
这样的字符串中,我得到的只是一个空变量。我不知道为什么会这样。