我需要创建一个可以在盒子CentOS 5.x
上运行的脚本。CentOS 6.x
CentOS 5.x 使用Perl 5.8
,CentOS 6.x 使用Perl 5.10
. 目标是能够 ssh 进入一个有密钥交换的盒子,然后运行python -V
,以确定默认版本是否为python 2.6
.
我猜如果我得到一个适用于 Perl 5.8 的脚本,它也适用于 5.10。我在不得不扔掉它方面取得了一些进展Net::SSH:Any
,因为它看起来适用于 Perl 5.12 及更高版本。
我也尝试过IPC::System::Simple
,qx
但没有运气捕获输出。
我的一些失败尝试:
失败1:
use IPC::System::Simple qw(system systemx capture capturex);
my $output = capture("/usr/bin/ssh root\@10.100.10.56 python -V");
print "out: " . $output . "\n";
失败2:
my $output = qx(ssh root\@10.100.10.56 python -V);
print "out: " . $output . "\n";
失败3:
my @output = qx(ssh root\@10.100.10.56 python -V);
print "@output\n";
我不确定 ssh 的调用是否在玩任何东西,并且迫切需要进行健全性检查。运行命令时,输出显示在屏幕上,但不存储在变量中,我可以对其进行子字符串检查。$output
变量留空。如果我遗漏了什么,请告诉我。谢谢 :)