mirror of
git://git.proxmox.com/git/pve-common.git
synced 2025-08-29 09:49:33 +03:00
run_command: add 'quiet' parameter for omitting STD* prints
Without this patch we printed to STDOUT and STDERR, respectively, if no $outfunc or $errfunc was passed. Sometimes it's useful if one, or even both, of those prints can be suppressed, currently this can only be done by either using an array of arrays or a whole string for the command and redirecting STDOUT and STDERR. Add a 'quiet' option which allows to do this in an easier way. It allows to silent STDERR or STDOUT or both. Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
committed by
Wolfgang Bumiller
parent
3e2da21600
commit
ed61b9d675
@ -369,6 +369,7 @@ sub run_command {
|
||||
my $afterfork;
|
||||
my $noerr;
|
||||
my $keeplocale;
|
||||
my $quiet;
|
||||
|
||||
eval {
|
||||
|
||||
@ -395,6 +396,8 @@ sub run_command {
|
||||
$noerr = $param{$p};
|
||||
} elsif ($p eq 'keeplocale') {
|
||||
$keeplocale = $param{$p};
|
||||
} elsif ($p eq 'quiet') {
|
||||
$quiet = $param{$p};
|
||||
} else {
|
||||
die "got unknown parameter '$p' for run_command\n";
|
||||
}
|
||||
@ -497,7 +500,7 @@ sub run_command {
|
||||
waitpid ($pid, 0);
|
||||
die $err;
|
||||
}
|
||||
} else {
|
||||
} elsif (!$quiet) {
|
||||
print $buf;
|
||||
*STDOUT->flush();
|
||||
}
|
||||
@ -517,7 +520,7 @@ sub run_command {
|
||||
waitpid ($pid, 0);
|
||||
die $err;
|
||||
}
|
||||
} else {
|
||||
} elsif (!$quiet) {
|
||||
print STDERR $buf;
|
||||
*STDERR->flush();
|
||||
}
|
||||
|
Reference in New Issue
Block a user