簡體   English   中英

stdout,stderr能否始終准備好常規文件?

[英]Can stdout, stderr always tee to a regular file?

是否可以在Linux上配置bash,以將所有stdout和stderr的副本寫入常規文件,而不必為每個命令指定重定向?

謝謝,肯特

您可以使用script創建Shell會話的日志

如果您正在編寫腳本,建議您編寫一個Shell函數並重定向其輸出。 然后,您不必重定向該函數的每個命令。 無論如何,我幾乎看不到交互式外殼重定向中的任何含義。

exec命令(如果未提供執行命令)會將其重定向應用於當前shell。 但是,在我的測試中,這似乎不適用於管道。 我建議使用一個子外殼,您可以正常重定向。

(
   echo hello
   echo hello err >&2
) 2>&1 | tee logfile.txt

如果您只需要成績單而不是連續的發球,則exec >& logfile可能會起作用。

同樣,傳統的技巧是使用通過管道連接到tee的遠程登錄工具(ssh或telnet)來創建交互式會話的日志。 屏幕還支持日志記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM