3
$df_ret = `ssh -q rajesh 'df -hP'`;

print "The value is $df_ret";   

if ($df_ret =~ /\/boot/) 
{
    print "The value is $df_ret";
}

期待される結果:

/dev/sda1               126931     39530     80848  33% /boot

df -kしかし、それは全体の出力に来ています。何か案が?

4

2 に答える 2

4

正規表現は、出力全体に対して 1 つの文字列として一致しています。おそらく、最初に行に分割してから、各行を一致させたいと思うでしょう:

my @df_ret = `ssh -q rajesh 'df -hP'`;

foreach my $line (@df_ret) {
    if ($line =~ m! /boot$!)
    {
        print "The value is $line";
    }
}
于 2012-05-30T20:42:54.570 に答える
1

シェルを使用するだけです。

ssh -q rajesh 'df -hP' | grep /boot
于 2012-05-30T21:07:52.077 に答える