将 bash 输出记录到文件中

将 bash 输出记录到文件中

我正在尝试构建 vlc,它相当复杂,并且依赖于安装正确的软件包,并且不断因错误而窒息。为了跟踪我的所有步骤,我希望在与 shell 交互时将我正在执行的操作输出到日志文件。

根据有用的答案这个问题

我通过输入以下内容得到了提升的提示

(sudo bash) | tee -a vlc_attempt.log

不幸的是,输出不包括路径提示,我希望看到它来区分输入和输出。

我尝试通过管道将 stderr 传输到 stdout,反之亦然,这两种方法都会产生错误的结果,但不会在文件中输入任何内容。与尝试将 lxterminal 通过管道连接到 tee 或使用 --command= 选项启动 lxterminal 然后将上面的示例命令放在引号中是一样的。从这往哪儿走?

答案1

用于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)清理输出的内容。

相关内容