我尝试构建一个小的telnet脚本以便与Perl中的Net::Telnet模块联系,当我尝试接收输出时,我在命令超时时遇到了困难。
$telnet = new Net::Telnet ( Timeout=>10);
$telnet->errmode("return");
$telnet->open('192.168.0.187');
$telnet->waitfor('/Username: $/i');
$telnet->print('admin');
$telnet->waitfor('/Password: $/i');
$telnet->print('admin');
$telnet->waitfor('/admin >$/i');
@output = $telnet->cmd('show');
#$telnet->waitfor('/admin >$/i');
print @output;
但我得到的是:
命令在telnet.pl第12行超时
尝试增加超时,将errmode设置为return - 但仍然会超时。 然而,服务器上“show”的输出需要大约1秒,所以我想在我的脚本中还有其他错误吗?
答案 0 :(得分:1)
请告诉我们您脚本中的第12行。您上面的代码段没有第12行。
这将有助于确定在连接期间或在以后的命令期间是否失败。你确定它的“show”命令失败了吗?