我正在尝试使用 Net::Telnet 登录某些设备。对于登录提示,设备每次需要一个字符来提示登录和密码。Ruby 一次发送整个用户名。有没有办法将它设置为一次发送一个字符?
这是我的脚本:
require 'net/telnet'
options = Hash.new
ipaddr = '10.160.64.103'
date = Time.new.strftime('-%H.%M.%S')
basedir = '.'
files = Dir.glob("#{ipaddr}*.log")
if files.size >= 0
File.delete(files[0])
end
file = File.new("#{ipaddr}-telnet#{date}.log", "w")
tn = Net::Telnet::new("Host" => ipaddr,
"Output_log" => "#{ipaddr}-telnet#{date}.log",
"Dump_log" => "dump.log",
"Prompt" => /->\z/ )
options["Name"] ||= "anonymous"
options["Password"] ||= "********"
tn.login(options) { |c| print c }
tn.close