如何在Net :: Telnet perl中接收命令的输出

时间:2014-06-10 07:41:01

标签: perl telnet

这是我的代码

use Net::Telnet (); 

$remote = new Net::Telnet (Timeout => 30,
                       Prompt => '/>/');
$remote->open("router1");

print $remote->cmd("sh hard\n");
print $remote->cmd("sh hard\n");
print $remote->cmd("sh hard\n");
print $remote->cmd("sh hard\n");

print $remote->waitfor('/mr-ferx2>/');
$remote->close();

我正在尝试登录路由器并提供“sh hard”命令。我一直都会遇到这个错误。 “命令在telnetter.pl第9行超时”

如果我在第二行尝试使用“sh ver”命令

use Net::Telnet (); 

$remote = new Net::Telnet (Timeout => 30,
                       Prompt => '/>$/');
$remote->open("router1");

print $remote->cmd("sh hard\n");
print $remote->cmd("sh hard\n");
print $remote->cmd("sh hard\n");
print $remote->cmd("sh hard\n");

print $remote->waitfor('/mr-ferx2>/');
$remote->close();

它打印“sh ver”命令的输出,然后在最后一行之前的行中打印模式匹配超时错误。

这是我的提示     路由器1>

我必须遵循什么顺序来执行命令并使脚本等待获取所有输出。

0 个答案:

没有答案