【问题标题】:Autopage More_prompt matching with Net::Telnet::Cisco in perlAutopage More_prompt 与 Perl 中的 Net::Telnet::Cisco 匹配
【发布时间】:2015-02-06 17:49:52
【问题描述】:

我似乎在 perl Net::Telnet::Cisco 中遇到 Autopage 和 more_prompt 问题(使用 Cisco 模块专门用于 --More-- 提示)。

我提交的命令正在超时,假设是因为它正在等待 --More-- 提示用户点击空格键。使用 more_prompt 的自动页面在匹配诸如 --More-- 之类的提示时应提交一个空格。我已经专门设置了 more_prompt 以便它匹配(至少我认为我的正则表达式匹配),但该命令似乎仍然超时。

有什么建议吗?

我的代码如下:

my $cmd = 'show interface';
sub telnet_mua {
    my $telnet = Net::Telnet::Cisco->new();
    $telnet->open("$_[0]");
    $telnet->waitfor('/Username:/');
    $telnet->print($un);
    $telnet->waitfor('/Passcode:/');
    $telnet->print($pw);
    $telnet->waitfor("/$_[1]>>/");
    my @output = $telnet->cmd(String => $cmd);
    print @output;
};

telnet_mua("111.222.333.444", "testlab9400-2");

错误(整个脚本中的第 33 行是“my @output = $telnet->cmd(String => $cmd);”:

mua_inventory.pl 第 33 行命令超时

这是我手动 telnet 进入时的样子,包括 --More-- 提示:

testlab9400-2>> 显示int

--- ADSL 接口 ---

接口状态连接


9.0 DN-DN 无 RX/TX
9.1 DN-DN 无接收/发送
9.2 DN-DN 无接收/发送
9.3 DN-DN 无接收/发送
9.4 DN-DN 无接收/发送
--MORE--(空格=下一页,CR=一行,Q=退出)

另外,我尝试将 Autopage 使用的 more_prompt 设置为 '/^(--MORE--).*$/',但命令仍然超时。

【问题讨论】:

    标签: linux perl


    【解决方案1】:

    我终于把它和'/(\s*.*)(--MORE--).*\s*/'匹配了

    结案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-07
      • 2012-09-05
      • 2011-10-25
      • 2011-04-04
      • 1970-01-01
      • 2012-05-31
      • 2011-09-21
      • 1970-01-01
      相关资源
      最近更新 更多