在 Linux 命令行中,当命令没有失败时,是否有一种方法可以仅让一个命令将其输出通过管道传输到另一个命令?
$ cmda | cmdb
我想要它,所以当cmda
返回 0 以外的状态代码时,其输出不会重定向到cmdb
.
答案1
您需要将输出存储在变量中才能完成此操作。这是一个例子:
if output=$(cmda); then
printf '%s' "$output" | cmdb
fi
在 Linux 命令行中,当命令没有失败时,是否有一种方法可以仅让一个命令将其输出通过管道传输到另一个命令?
$ cmda | cmdb
我想要它,所以当cmda
返回 0 以外的状态代码时,其输出不会重定向到cmdb
.
您需要将输出存储在变量中才能完成此操作。这是一个例子:
if output=$(cmda); then
printf '%s' "$output" | cmdb
fi