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