出力を常に出力するコマンドを実行しています。私はコマンドが失敗した場合にのみ出力を見たいと思います。成功時の出力を抑制するパイプコマンド
このような何か: % (echo OK; true) | FILTER % (echo ERROR; false) | FILTER ERROR
はFILTER
標準のシェルツールを使用して実装することができますか? 構造は必ずしもパイプである必要はありません。 FILTER "my_command"
のようなものはOKです。
P.S.実際のプログラムは単体テストで、Googleテストスイートを使用して実装されています。それは常に非常に冗長であり、成功の場合、出力は興味深いものではありません。あなたは以下を参照することができますよう
サブシェルは常に存在しますか? '()'またはここに示した例だけですか? – Inian
'a = $(エコーOK;真)|| echo "$ a" '; 'a = $(echo ERROR; false)|| echo "$ a" '; – anishsane
@Inian、no - サブシェルは単なる試みであり、明確な例を書いています。 – ugoren