仅在成功时进行管道

仅在成功时进行管道

在 Linux 命令行中,当命令没有失败时,是否有一种方法可以仅让一个命令将其输出通过管道传输到另一个命令?

$ cmda | cmdb

我想要它,所以当cmda返回 0 以外的状态代码时,其输出不会重定向到cmdb.

答案1

您需要将输出存储在变量中才能完成此操作。这是一个例子:

if output=$(cmda); then
  printf '%s' "$output" | cmdb
fi

相关内容