我正在编写一个脚本,用于通过保存输出“show run”来保存开关配置,因为固件在处理tftp时遇到问题。
“show run”的输出除以帖子More: <space>, Quit: q, One line: <return>
。
# sh run
no spanning-tree
interface port-channel 1
shutdown
exit
interface port-channel 2
shutdown
exit
interface port-channel 3
shutdown
exit
interface port-channel 4
shutdown
exit
interface port-channel 5
shutdown
exit
interface port-channel 6
shutdown
exit
interface port-channel 7
shutdown
exit
More: <space>, Quit: q, One line: <return>
我的部分脚本如下:
foreach (@linksys_sps){
print ("Connecting to ",$_,"\n");
my $telnet = new Net::Telnet ( Timeout=>10,Errmode=>'return');
$telnet->open($_);
if ($telnet->errmsg){
print "Can't connect to " . $_ . " Error: " . $telnet->errmsg . "\n";
} else {
$telnet->waitfor('/User Name:$/i');
$telnet->print('admin');
$telnet->waitfor('/Password:$/i');
$telnet->print('password');
my @lines = $telnet->cmd("sh run");
print @lines;
sleep(5);
$telnet->print('exit');
}
}
和他的工作成果:
# sh run
no spanning-tree
interface port-channel 1
shutdown
exit
interface port-channel 2
shutdown
exit
interface port-channel 3
shutdown
exit
interface port-channel 4
shutdown
exit
interface port-channel 5
shutdown
exit
interface port-channel 6
shutdown
exit
interface port-channel 7
shutdown
exit
More: <space>, Quit: q, One line: <return>
如何解决?
答案 0 :(得分:1)
您的交换机上是否有选项将页面长度设置为零(0)?如果是这样,你必须在执行'sh run'命令之前添加它。
答案 1 :(得分:0)
在alcatel 6224和同样的Dell powerconnect 3548上,它可以工作:
my @lines = $telnet->cmd("terminal datadump");
@lines = $telnet->cmd("show run");