将命令输出重定向到文件和标准输出 [只有一次,不是每个命令]
Redirect output of command to file and stdout [Only once, not at each command]
我想将我执行的所有命令和输出(stdout、stderr)的快照保存在一个文件中,以便稍后查看。我经常需要查看它以进行调试。
此 link 给出单个命令的输出:
How to redirect output to a file and stdout
但是,我不想为每个命令都编写它,因为它很耗时。此外,这不会记录我执行的命令。
示例功能:
bash> start-logging logger.txt
bash> echo "Hi"
Hi
bash> cat 1.txt
Contents of 1.txt
bash> stop-logging
logger.txt
的内容
bash> echo "Hi"
Hi
bash> cat 1.txt
Contents of 1.txt
理想情况下,我想要上述行为。
任何其他缺少功能的命令(可能缺少从 tmp.txt 执行的命令)也会有所帮助。
你可以使用
$ bash | tee log
开始记录,然后
$ ^D
(即 Ctrl-D)
停止记录。
创建一个新的 bash 会话来记录,然后在不需要时终止它。
但不幸的是,bash 似乎没有将其提示和命令写入标准错误,因此您只能捕获命令输出。
我想将我执行的所有命令和输出(stdout、stderr)的快照保存在一个文件中,以便稍后查看。我经常需要查看它以进行调试。
此 link 给出单个命令的输出: How to redirect output to a file and stdout
但是,我不想为每个命令都编写它,因为它很耗时。此外,这不会记录我执行的命令。
示例功能:
bash> start-logging logger.txt
bash> echo "Hi"
Hi
bash> cat 1.txt
Contents of 1.txt
bash> stop-logging
logger.txt
的内容bash> echo "Hi"
Hi
bash> cat 1.txt
Contents of 1.txt
理想情况下,我想要上述行为。 任何其他缺少功能的命令(可能缺少从 tmp.txt 执行的命令)也会有所帮助。
你可以使用
$ bash | tee log
开始记录,然后
$ ^D
(即 Ctrl-D)
停止记录。
创建一个新的 bash 会话来记录,然后在不需要时终止它。
但不幸的是,bash 似乎没有将其提示和命令写入标准错误,因此您只能捕获命令输出。