LINUX.ORG.RU

Использование expect в ruby

 ,


0

1

Здравствуйте. Необходимо выполнить действие, определенное выводом телнета. Пытаюсь использовать 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 нужно применять на переменную, или есть другой вариант? Как правильно дописать условие в цикле выше?

Ответ на: комментарий от hasculdr

Пардон. Ваш совет про параметр - рабочий. Ранее сам сломал регулярку в скрипте и он совсем не работал). Вместо expect использовал .scan.

hasculdr
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.