如何停止写入 BASH 中的日志文件?

How to stop writing to log file in BASH?

我正在使用此代码将所有终端的输出写入文件

exec > >(tee -a "${LOG_FILE}" )
exec 2> >(tee -a "${LOG_FILE}" >&2)

如何让它停止?例如,如果我不希望某些输出进入日志..

谢谢!

您可以通过管道 "sed" 然后将 tee 传送到日志文件

目前还不完全清楚您的目标是什么,但可以尝试一下。

您知道 script 实用程序吗?您可以 运行 script myTerminalOutputFile 并且之后的任何命令和输出都将被捕获到 myTerminalOutputFile。缺点是它会捕获所有内容。您会看到有趣的屏幕控制字符,例如 ^[[5m;27j。所以做一个快速测试,看看它是否适合你。

要完成捕获输出,只需键入 exit,然后您将返回给父级 shell cmd 行。

警告:检查 man script 以了解有关您的特定 OS 脚本版本固有时髦性的详细信息。有些比其他的好。 script -k myTerminalOutputFile 在这种情况下可能效果更好。

IHTH