良い解決策を見つけました。exec を使用して、後続のすべてのコマンドの stderr をリダイレクトします。。
私は次の例を使用しました。
exec > >(tee $somelog) 2>&1
...すべてを完璧にしようとしますtee
。今、どのように戻すことができますか?
答え1
事前に計画している場合の最善の解決策は、記述子を最初に保存するか、次のように衛星範囲でリダイレクトを実行することです。コメントにリンクされた質問。
ただし、これを実行できなかった場合は、次のコマンドを使用して端末に直接書き込みを再開できます。
exec > $(tty)
前提は標準入力をリダイレクトしていません。
もしあなたなら持つ標準入力をリダイレクトするには、次のものを使用できます。
exec > /dev/tty
、また少し速いです。
これは端末の標準出力をリセットします。標準エラーを具体的にリセットするには、次のようにします。
exec 2> ...
上記からどのオプションを選択しても構いません。
詰まっていない場合は、シェルを終了して再起動するだけで正常に戻ることができます。