単純なものが欠けていると確信していますが、実行スクリプトを使用していくつかのユーティリティ スクリプトを呼び出しており、1 つのパイプを介してユーティリティからのすべての出力を処理したいと考えています。私の問題は、ユーティリティが stderr を使用してエラー状態を報告することですが、それを親スクリプトで使用するためにキャプチャすることはできません。
親スクリプト:
#!/bin/bash
child 2>&1 >/dev/null
子スクリプト
#!/bin/bash
echo "Print"
echo "Error" 1>&2
私が期待しているのは、stderrのchild(およびそのすべてのコマンド)がリダイレクトされるstdout(したがって出力がない)ことですが、実行すると端末parentにErrorエコーされます(「印刷」は/ dev/nullに送信されます)。