- 論壇徽章:
- 1
|
一 將一臺設(shè)備的結(jié)果保存下來的perl 命令
#!/usr/bin/perl
$pass = 'password';
$host = '192.168.0.1';
$user = 'admin';
use Net::Telnet::Cisco;
my $session =Net::Telnet::Cisco->new(Host => $host);
$session->login($user,$pass);
@out = $session->cmd("show mac-address-table");
open (ABC, ">> $host.txt") or die "$! error trying to telnet";
print ABC "$host\n";
print ABC "@out";
close (ABC);
二 將多臺設(shè)備的結(jié)果保存下來的perl 命令
#!/usr/bin/perl
$pass = 'password';
my @ip =qw/192.168.0.1
192.168.0.2/;
$user = 'admin';
use Net::Telnet::Cisco;
for my $host(@ip)
{
my $session =Net::Telnet::Cisco->new(Host => $host);
$session->login($user,$pass);
@out = $session->cmd("show mac-address-table");
open (ABC, ">> $host.txt") or die "$! error trying to telnet";
print ABC "$host\n";
print ABC "@out";
close (ABC);
}
三 如何在WINDOWS下運(yùn)行 此腳本
1 安裝ActivePerl
2 運(yùn)行 Perl Package Manager
3 安裝 net-telnet 和 net-telnet-cisco 兩個(gè)包
4 運(yùn)行perl 命令 (C:\>perl test.pl)
四 如何在LINUX下運(yùn)行 此腳本
1 安裝三個(gè)包 Net-Telnet net-telnet-cisco TermReadKey
下載地址 http://www.debian.org/distrib/packages
2 安裝步驟詳見READEME
$ perl Makefile.PL [--prefix=...]
$ make
$ make test
$ make install
3 運(yùn)行per腳本 (./test.pl)
五 常見錯(cuò)誤
sh腳本異常:bad interpreter: No such file or directory
在Linux中執(zhí)行.sh腳本,異常/bin/sh^M: bad interpreter: No such file or directory。
分析:這是不同系統(tǒng)編碼格式引起的:在windows系統(tǒng)中編輯的.sh文件可能有不可見字符,所以在Linux系統(tǒng)下執(zhí)行會報(bào)以上異常信息。
解決:1)在windows下轉(zhuǎn)換:
利用一些編輯器如UltraEdit或EditPlus等工具先將腳本編碼轉(zhuǎn)換,再放到Linux中執(zhí)行。轉(zhuǎn)換方式如下(UltraEdit):File–>Conversions–>DOS->UNIX即可。
2)也可在Linux中轉(zhuǎn)換:
首先要確保文件有可執(zhí)行權(quán)限
#sh>chmod a+x filename
然后修改文件格式
#sh>vi filename
利用如下命令查看文件格式
:set ff 或 :set fileformat
可以看到如下信息
fileformat=dos 或 fileformat=unix
利用如下命令修改文件格式
:set ff=unix 或 :set fileformat=unix
:wq (存盤退出)
最后再執(zhí)行文件
#sh>./filename |
|