我telnet到我的测试设备,登录后,发出一个命令,给我十行响应。我想将这十行分配给一个数组或任何数据结构来验证响应。例如,我的回答如下所示。我想检查一下行列表中的点点滴滴。我可能想查看192
,brown
和0903
。
我有192块沙子,是绿褐色的 颗粒的颜色
11 0909 0903
以下是我的示例代码。如果我将结果指定为数组,则将所有数据指定为第一个元素。
require 'net/telnet'
i = Net::Telnet::new("Host" => '192.111.214.16',
"Port" => 23,
"Output_log" => "output.log", # default: nil (no output)
"Dump_log" => "dump.log", # default: nil (no output)
"Prompt" => /[#>]/ , # default: /[$%#>] \z/n
"Telnetmode" => true, # default: true
"Timeout" => 100, # default: 10
)
i.login("admin", "pass") { |c| print c }
result = i.cmd("String" => "status", "Match" => /a#/)
print result
答案 0 :(得分:1)
根据documentation,cmd
返回包含完整输出的字符串。
因此,您应该能够使用split
将其作为每行包含一个字符串的数组:
result = i.cmd("String" => "status", "Match" => /a#/).split("\n")