gpt4 book ai didi

bash - 你能为整个 Bash session 重定向 STDERR 吗?

转载 作者:行者123 更新时间:2023-11-29 09:00:44 25 4
gpt4 key购买 nike

关于为单个命令或脚本重定向 stderrstdout 有很多问题。我想要的是将任何 stderr 消息从我的 Bash session 重定向到日志文件。

我想要一个交互式 bash session ,其中所有 stderr 都被重定向到一个文件。

最佳答案

处理问题的糟糕方法:

exec 3>&2
trap 'exec 2>>/path/to/your_file' DEBUG
PROMPT_COMMAND='exec 2>&3'
  • exec 3>&2:我们首先将 fd 2 复制到一个新的 fd(这里是 fd 3)
  • trap 'exec 2>/dev/null' DEBUG:在执行每个命令之前(如果设置了 shell 选项 extdebug,这是交互式中的默认设置shell),DEBUG 陷阱被执行:这里我们将 stderr 重定向到文件 /path/to/your_file(确保你给出一个绝对路径)。
  • 在显示每个提示之前,Bash 执行 PROMPT_COMMAND 变量中的字符串:这里我们将 fd2 重定向到 fd3(当 fd3 指向终端时,它是 fd2 的副本)。这是打印提示所必需的。

我不认为这是一种健壮或不错的方法,但它可能会达到您的目的。

关于bash - 你能为整个 Bash session 重定向 STDERR 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32890389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com