write_switch.pl

来自「在UniX下实现了有关于使用snmp网络管理协议来管理IP绑定的问题」· PL 代码 · 共 50 行

PL
50
字号
use Expect;
use strict;
use warnings;

sub readdata{
open(FILEHANDLE,"change.txt")||die"can not open filename:$!";
my(@array)=<FILEHANDLE>;
chomp@array;
close(FILEHANDLE);
return(@array);
}

my @list=&readdata;
for(my $i=0;$i<=$#list;$i++){
	my @route=split /,/,$list[$i];
	my $timeout = 1;
	my $cmd1 = "telnet";



	my @params = "$route[0]";
	my $exp = new Expect;
	$exp->raw_pty(1);
	$exp->log_file("debug.txt", "w");
	$exp->spawn($cmd1,@params) or die "Can't spawn $cmd1!";
	$exp->expect($timeout,-re=>"Username:");
	$exp->send("$route[1]\r\n");
	$exp->expect($timeout,-re=>"Password:");
	$exp->send("$route[2]\r\n");
	$exp->expect($timeout,-re=>">");		
	$exp->send("su\r\n");
	$exp->expect($timeout,-re=>"Password:");
	$exp->send("$route[3]\r\n");
	$exp->expect($timeout,-re=>">");		
	$exp->send("sy\r\n");
	$exp->expect($timeout,-re=>"]");
	$exp->send("$route[4]\r\n");
	$exp->expect($timeout,-re=>"]");
	$exp->send("q\r\n");
	$exp->expect($timeout,-re=>">");
	$exp->send("save\r\n");
	$exp->expect($timeout,-re=>">");		
	$exp->send("q\r\n");

	$exp->soft_close();
	$exp->log_file(undef);
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?