bash - 記錄程式執行後的輸出

bash - 記錄程式執行後的輸出

我知道我可以stdout在運行腳本之前重定向到文件,但是有沒有辦法訪問已經運行的程式的整個輸出?當輸出太長時,它會被終端視窗剪切掉,我看不到最初的列印結果。

答案1

有幾個建議:

  1. 增加終端機視窗中保留的行數。在我可以的所有系統上,我通常將其設為 10,000 行(或最大可能更少)。
  2. (可能稍微更實用)當您知道您可能希望能夠捕獲輸出時,啟動一個新的 bash shell 運行並使用 tee ( bash | tee record.txt) 將輸出通過管道傳輸到檔案。在該 shell 中執行的命令的任何輸出都會放入檔案「record.txt」中。不幸的是,它不捕獲輸入(包括您鍵入的命令)和 shell 提示。
  3. (更好)在執行任何您認為可能需要安全的操作之前,請使用script.這將開始捕獲您的輸入和程式輸出。完成操作後,退出 shell 或輸入 Ctrl-D。 筆記:在「腳本」完成之前,可能無法寫入腳本產生的輸出。

相關內容