在 Linux 命令行中有没有办法,当命令没有失败时,只有一个命令管道它的输出到另一个?
$ cmda | cmdb
Run Code Online (Sandbox Code Playgroud)
我想要它,因此当cmda返回 0 以外的状态代码时,其输出不会重定向到cmdb.
您需要将输出存储在变量中才能完成此操作。下面是一个例子:
if output=$(cmda); then
printf '%s' "$output" | cmdb
fi
Run Code Online (Sandbox Code Playgroud)