Linux 将命令的输出重定向到文件和标准输出[仅一次,而不是每次命令]
我想在一个文件中创建我执行和输出的所有命令(stdout、stderr)的快照,以便以后查看。我经常需要查看它以进行调试 此链接提供单个命令的输出: 但是,我不想为每个命令编写它,因为它很耗时。此外,这不会记录我执行的命令 示例功能:Linux 将命令的输出重定向到文件和标准输出[仅一次,而不是每次命令],linux,bash,io,stdout,Linux,Bash,Io,Stdout,我想在一个文件中创建我执行和输出的所有命令(stdout、stderr)的快照,以便以后查看。我经常需要查看它以进行调试 此链接提供单个命令的输出: 但是,我不想为每个命令编写它,因为它很耗时。此外,这不会记录我执行的命令 示例功能: bash> start-logging logger.txt bash> echo "Hi" Hi bash> cat 1.txt Contents of 1.txt bash> stop-logging logger.txt的内容 b
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似乎没有将其提示符和命令写入stderr,因此您只能捕获命令输出。为什么bash history不存储命令?此外,您链接的问题只保存输出,而不是已保存的命令typed@123也许OP考虑的是本地的
.bash\u历史记录
,而不是远程的?对不起.bash_history将命令存储在退出时,这就是我无法在.bash_history中找到该命令的原因。我会更新这个问题。我是否可以得到执行命令的输出?