]> git.proxmox.com Git - pve-common.git/blobdiff - data/PVE/Tools.pm
fix bug #264: use option pipefail for shell commands
[pve-common.git] / data / PVE / Tools.pm
index 43b30b14bd7c913145036270210a37298850ced1..27b4361f7f11c9a6d76d3a48b0a9a465bc86c074 100644 (file)
@@ -207,7 +207,12 @@ sub run_command {
 
     if (!ref($cmd)) {
        $cmdstr = $cmd;
-       $cmd = [ $cmd ];
+       if ($cmd =~ m/|/) {
+           # see 'man bash' for option pipefail
+           $cmd = [ '/bin/bash', '-c', "set -o pipefail && $cmd" ];
+       } else {
+           $cmd = [ $cmd ];
+       }
     } else {
        $cmdstr = cmd2string($cmd);
     }