別のプログラムを開始するために使用される簡単なスクリプトがあります。この他のプログラムはSIGSEGV、私の出力を混乱させる を生成することがあります。したがって、が無視さstderrれる/dev/nullように を一時的にリダイレクトすることになっている行をいくつか追加しました。SIGSEGV以下は私のコードのドラフトです:
exec 2> /dev/null
progname >& ./tmp/run.txt && run_status='OK'
exec 2>1
問題は、最後の行が私が望むことをしないことです。最初の行は明らかに機能し、stderr. 最後の行は、元の場所に戻すことstderrになっています (これは、 と同じだと思っただけですstdout)。
どんな助けでも感謝します!