![コンソールのすべての標準エラーおよび後続のコマンドを[冗長]ファイルにリダイレクトする](https://linux33.com/image/44903/%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E6%A8%99%E6%BA%96%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8A%E3%82%88%E3%81%B3%E5%BE%8C%E7%B6%9A%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%5B%E5%86%97%E9%95%B7%5D%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%81%99%E3%82%8B.png)
stderr
ファイルにリダイレクトするか、次にリダイレクトする方法を知っています。あるいは、コマンドを実行する場合も同様です。しかし、bashコンソールが開いているので、すべてをファイルにリダイレクトしたいと思います。コンソールで実行されるコマンドに関するすべてのエラーメッセージは、そのファイルにリダイレクトされます。それは可能ですか?それでは、入れなければならないコマンドは何ですか?stdout
command 2 > log
command 2 > &1
command 2 > &1 > /dev/null
stderr
.bashrc
答え1
エラーを記録して確認したい場合:
exec 2> >(tee -a error.log)
まあ、テストしたばかりで、セッション全体が録音されました。理由を知っている人はいますか?
答え2
あなたはそれを使用することができます
exec 2> log
文書には次のように記載されています。
COMMAND を指定しないと、すべてのリダイレクトが現在のシェルに適用されます。