#!/usr/bin/perl
some code........
..................
system ("rpm -q iptables > /tmp/checkIptables");
my $iptables = open FH, "/tmp/checkIptables";
上述代码检查iptables
是否安装在您的Linux机器中?如果安装了命令rpm -q iptables
会给输出,如下图所示:从文件读取并将内容与变量进行比较
iptables-1.4.7-3.el6.x86_64
现在我已经重定向这个输出命名为checkIptables
文件。
现在我想检查变量$iptables
是否与上面给出的输出相匹配。我不关心版本号。
它应该是这样的
if ($iptables eq iptables*){
...............
.......................}
但是iptables的*给人错误。
'open'只是返回一个表示打开操作是否成功的值 - 它不会返回正在打开的东西的内容。也就是说,'$ iptables'没有你认为它的值。 – mob
感谢您指出这一点。我的方法错了。我现在有正确的解决方案:) –