bash-记录程序执行后的输出

bash-记录程序执行后的输出

我知道可以stdout在运行脚本之前重定向到文件,但是有没有办法访问已运行程序的整个输出?当输出太长时,它会被终端窗口截断,我看不到初始打印。

答案1

有以下几点建议:

  1. 增加终端窗口中保留的行数。在所有我能使用的系统上,我通常将其设置为 10,000 行左右(或可能的最大数量更少)。
  2. (可能更实用)当您知道您可能想要捕获输出时,请启动一个新的 bash shell 运行,并使用 tee ( bash | tee record.txt) 将输出传输到文件。在该 shell 中运行的命令的任何输出都将放入文件“record.txt”中。不幸的是,它不会捕获输入(包括您键入的命令)和 shell 提示。
  3. (更好)在执行任何你认为可能需要保护的操作之前,使用script。这将开始捕获你的输入和程序输出。完成操作后,退出 shell 或键入 Ctrl-D。 笔记:直到“脚本”完成时,脚本生成的输出才可能被写入。

相关内容