【发布时间】:2015-10-30 20:43:11
【问题描述】:
我正在尝试使用 telnet 通过 Perl 脚本执行命令,下面的脚本似乎能够成功登录,但无法执行命令。我找不到正确的正则表达式,它会在执行命令之前等待提示符 >。
这是通过telnet正常登录时的结果图像:
#!/usr/bin/perl
use strict;
use warnings;
use Net::Telnet;
my $remote_host = 'myrouter';
my $telnet = new Net::Telnet (Timeout=>10 ,Input_log => "received_data.txt" );
$telnet->open($remote_host);
$telnet->waitfor('/ADSL2PlusRouter login:/i');
$telnet->print('mylogin');
$telnet->waitfor('/Password:/i');
$telnet->print('my_password');
$telnet->waitfor('/-*>/');
$telnet->cmd("adsl show");
$telnet->print('exit');
【问题讨论】: