成功時のみパイプ

成功時のみパイプ

Linuxコマンドラインでコマンドが失敗しないときに、1つのコマンドだけが出力を別のコマンドにパイプするようにする方法はありますか?

$ cmda | cmdb

cmdaゼロ以外のステータスコードが返されたときにその出力がにリダイレクトされないようにしたいと思いますcmdb

ベストアンサー1

これを行うには、出力を変数に保存する必要があります。例は次のとおりです。

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

おすすめ記事