Здравствуйте. Необходимо выполнить действие, определенное выводом телнета. Пытаюсь использовать expect:
$host.login(username="admin", password="admin") {|c| $dump=c; print c}
$dump.expect(/<*> | *#/) {
if /<*>/ then puts "Это Quidway."
elsif /Vty*/ then puts "Это Edge-Core."
else puts "Это Qtech."
end
}
Вывод $host.login сохраняется в переменную $dump, и я точно знаю, что на этот момент последней строкой там сохранено то, что соответствует регулярному выражению /<*> | *#/ (перенаправлял вывод в текстовый файл, искомая строка там присутствует, как и остальная часть вывода работы telnet).
Скажите, expect нужно применять на переменную, или есть другой вариант? Как правильно дописать условие в цикле выше?