9
STDOUTとSTDERRの両方をターミナルとログファイルに移動するにはどうすればよいですか?
技術者以外のユーザーがインタラクティブに実行するスクリプトがあります。スクリプトは、ユーザーがスクリプトが正常に実行されていることを確認できるように、ステータスの更新をSTDOUTに書き込みます。 STDOUTとSTDERRの両方をターミナルにリダイレクトしてください(ユーザーがスクリプトが機能していることを確認できるようにしたり、問題があったかどうかを確認したりできます)。また、両方のストリームをログファイルにリダイレクトする必要があります。 私はネットでたくさんの解決策を見てきました。機能しないものもあれば、恐ろしく複雑なものもあります。私は実行可能なソリューションを開発しました(答えとして入力します)が、それは扱いにくいです。 完璧な解決策は、両方のストリームをターミナルとログファイルの両方に送信するスクリプトの先頭に組み込むことができる1行のコードです。 編集: STDERRをSTDOUTにリダイレクトし、結果をT型にパイプすることは機能しますが、出力をリダイレクトしてパイプすることを覚えているユーザーに依存します。ロギングを誰にでもできる自動化したいのです(そのため、スクリプト自体にソリューションを埋め込むことができます。)