作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个通过 ssh 连接到多个设备的 perl。我想通过连接设备来检查 ssh 是否正常工作。
这是我的代码:
#!/usr/bin/perl
use strict;
use warnings;
use Net::SSH2;
use POSIX qw(strftime);
my $date = strftime "%Y%m%d", localtime;
open (OUTPUTS, ">ssh_Success$date.log" );
open (OUTPUTF, ">ssh_Fail$date.log" );
open( SWITCHIP, "ip.txt" ) or die "couldn't open ip.txt";
my $count = 0;
while (<SWITCHIP>) {
chomp($_);
my $hostname = $_;
my $tl = 0;
my $t = Net::SSH2->new(
#Host => $hostname,
#Prompt =>
#'/(?m:^(?:[\w.\/]+\:)?[\w.-]+\s?(?:\(config[^\)]*\))?\s?[\$#>]\s?(?:\(enable\))?\s*$)/',
#debug=>0
#Timeout => 30,
#Errmode => 'return'
'$hostname', timeout => 30
) or $tl = 1;
my @output = ();
if ( $tl != 1 ) {
print "$hostname SSH success\n"; # for printing it in screen
print OUTPUTS "$date $hostname SSH success\n"; # it will print it in the log_Success.txt
}
else {
my $sshstat = "SSH failed";
print "$hostname $sshstat\n"; # for printing it in screen
print OUTPUTF "$date $hostname $sshstat\n"; # it will print it in the log_Fail.txt
}
$count++;
}
close(SWITCHIP);
close(OUTPUTS);
close(OUTPUTF);
Odd number of elements in hash assignment at /usr/local/lib64/perl5/Net/SSH2.pm
1.1.1.1 SSH success
Odd number of elements in hash assignment at /usr/local/lib64/perl5/Net/SSH2.pm
2.2.2.2 SSH success
Odd number of elements in hash assignment at /usr/local/lib64/perl5/Net/SSH2.pm
3.3.3.3 SSH success
最佳答案
该模块的constructor ( new
) expects a %hash
.这意味着您必须提供一个包含偶数个元素的列表或一个散列变量,以便 new
可以用它们构建它需要的哈希。当将奇数个元素分配给哈希时,会打印一个警告(您会得到)。
提供的列表是选项值对,为方便起见写为 option => value, ...
(即使 option, value ...
也可以)。
记录的选项是:timeout
, trace
, debug
, compress
, 和 sigpipe
.因此,您无法在构建对象时提供主机名。
这是通过 connect
完成的。
my $t = Net::SSH2->new( timeout => 30 ) or $tl = 1;
$t->connect( $hostname ) or $t->die_with_error;
connect
的其他选项。支持。
关于Perl -/usr/local/lib64/perl5/Net/SSH2.pm 的散列分配中的奇数个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45272545/
我是一名优秀的程序员,十分优秀!