2016-04-24 90 views
0

我使用此代碼的所有終端輸出寫入文件如何停止在BASH中寫入日誌文件?

exec > >(tee -a "${LOG_FILE}") 
exec 2> >(tee -a "${LOG_FILE}" >&2) 

如何告訴它停下來?例如,如果我不想讓一些輸出進入日誌..

謝謝!

+1

這可能工作(除了告訴它停止),但你知道'腳本'工具嗎?這可能是一個更容易解決您的問題的方法。 '人腳本'。祝你好運。 – shellter

+0

非常感謝!你可以發佈答案嗎? – user3027198

+0

發佈爲答案。祝你好運。 – shellter

回答

1

這不是完全清楚你的目標是在這裏,但這裏是一些嘗試。

您是否知道script工具?你可以運行script myTerminalOutputFile,之後的任何命令和輸出都會被捕獲到myTerminalOutputFile。缺點是它捕捉了一切。你會看到有趣的屏幕控制字符,如^[[5m;27j。所以做一個快速測試,看看它是否適合你。

要完成捕獲輸出,只需輸入exit,然後將父shell cmd-line返回給您。

警告:請檢查man script瞭解有關您的特定操作系統版本腳本的固有質感的詳細信息。有些比其他人好。在這種情況下,script -k myTerminalOutputFile可能會更好。

IHTH

+0

謝謝!它工作正常,但有垃圾人物真的殺了我..有什麼辦法擺脫他們? – user3027198

+0

請參閱http://stackoverflow.com/a/30571263/620097。它應該有所幫助。請注意,對於幾乎所有刪除數據的解決方案,如果出現意外錯誤,請務必測試您的測試工作以符合後果的嚴重性。祝你好運。 – shellter

0

您可以通過管「的sed」,然後發球臺到日誌文件

+0

你能解釋一下嗎?謝謝) – user3027198