Bash
將 bash 輸出記錄到文件中
我正在嘗試建構 vlc,它相當複雜並且依賴於安裝正確的軟體包,並且不斷因錯誤而窒息。為了跟踪我的所有步驟,我希望在與 shell 互動時將我正在做的事情輸出到日誌文件中。
通過鍵入以下內容,我得到了提升的提示
(sudo bash) | tee -a vlc_attempt.log
不幸的是,輸出不包括路徑提示,我希望看到它來區分輸入和輸出。
我嘗試將 stderr 管道傳輸到 stdout ,反之亦然,這兩者都會產生錯誤的結果,但沒有在文件中輸入任何內容。嘗試通過管道將 lxterminal 連接到 tee,或者使用 –command= 選項啟動 lxterminal,然後將上述範例命令用引號括起來。然後去哪兒?
用於
script(1)
記錄發送到終端的所有內容:$ script Script started, file is typescript $ # do your work ... $ # then exit with ^D $ exit Script done, file is typescript
您稍後可以使用以下命令查看輸出
less
:$ less -r typescript
請注意,日誌將包含發送到終端的所有控製字元,例如 ANSI 顏色或您的 shell 提示發送的任何其他字元。如果您不想在日誌中使用控製字元,那麼可以
PS1
在執行之前簡化您的操作script
,或者使用類似的東西stripansi(1)
來清理輸出。