#!/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
感謝您指出這一點。我的方法錯了。我現在有正確的解決方案:) –