コマンドが成功した場合にのみ出力を抑制するにはどうすればよいですか?

コマンドが成功した場合にのみ出力を抑制するにはどうすればよいですか?

通常、成功したヘルパーコマンドの出力を抑制してスクリプト出力を簡素化したいと思います。

ただし-q、時々失敗した場合、それを使用すると出力が非表示になり、エラーを理解できません。また、これらのコマンドは出力をstderr

コマンド出力を抑制する方法はありますか?成功する限り

たとえば(これに限定されない)、次のようになります。

mycommand | fingerscrossed

すべてが順調に進むと、fingerscrossed出力をキャプチャして破棄します。それ以外の場合は、標準またはエラー出力(何でも)に反映されます。

ベストアンサー1

moreutils'chronicコマンドは次のことを行います。

chronic mycommand

出力は失敗しない限り飲み込まれmycommand、失敗すると出力が表示されます。

おすすめ記事