Fail gracefully if ipmi-sensors error

This commit is contained in:
Robert Nelson 2015-05-28 20:22:44 -07:00
parent 16fa2ec329
commit c286283594
1 changed files with 13 additions and 8 deletions

View File

@ -47,17 +47,22 @@ my $pass = get_param("p");
my $sensor = get_param("s");
my $extraopts = get_param("-");
my $res = `ipmi-sensors -h $host -u $user -p $pass -s $sensor $extraopts --ignore-not-available-sensors --no-header-output --comma-separated-output --output-event-bitmask`;
my $cmd = "ipmi-sensors -h $host -u $user -p $pass -s $sensor $extraopts --ignore-not-available-sensors --no-header-output --comma-separated-output --output-event-bitmask";
my $res = `$cmd`;
my ($sensor_id, $name, $type, $value, $units, $eventmask) = split(/,/, $res);
if (defined $res and "$res" ne "") {
my ($sensor_id, $name, $type, $value, $units, $eventmask) = split(/,/, $res);
#Output the value
if ($value eq 'N/A') {
if ($eventmask =~ /([0-9A-Fa-f]+)h/) {
print hex $1;
#Output the value
if ($value eq 'N/A') {
if ($eventmask =~ /([0-9A-Fa-f]+)h/) {
print hex $1;
} else {
print $eventmask;
}
} else {
print $eventmask;
print $value;
}
} else {
print $value;
print STDERR "Error processing command: $cmd\n";
}