这是我的代码
my @usage = `df -hT | grep -e CC -e usr`;
foreach (@usage) {
if ($_ =~ m/([0-9]{0,3})% \/(.*)/) {
print "$1 - $2\n";
if ( ($2 == "CC" && $1 >= 80) || ($2 == "usr" && $1 >= 90) ) {
print "/$2 parition is at $1% utilization\n";
}
}
}
这是一个简单的脚本,用于检查分区的使用情况。 问题出在中频条件下。
if ( ($2 == "CC" && $1 >= 80) || ($2 == "usr" && $1 >= 90)
应转换为IF(分区为CC,如果使用率超过80%)或(如果IF分区为usr并且其使用率超过90%),则输出。
我的CC分区为83%,而我的usr为85%。 因此,我应该只看到
/ CC分区为83%
但我知道
83 - usr
/usr parition is at 85% utilization
83 - CC
/CC parition is at 83% utilization
答案 0 :(得分:3)
您需要使用eq
来比较字符串
if ( ($2 eq "CC" && $1 >= 80) || ($2 eq "usr" && $1 >= 90) ) {