关于重定向stderr和stdout单个命令或脚本有很多问题.我想要的是将任何stderr消息从我的Bash会话重定向到日志文件.
我想要一个交互式bash会话,其中所有都stderr被重定向到一个文件.
处理问题的可怕方法:
exec 3>&2
trap 'exec 2>>/path/to/your_file' DEBUG
PROMPT_COMMAND='exec 2>&3'
Run Code Online (Sandbox Code Playgroud)
exec 3>&2:我们先将fd 2复制到新的fd(这里是fd 3)trap 'exec 2>/dev/null' DEBUG:在执行每个命令之前(如果extdebug设置了shell选项,这是交互式shell中的默认选项),DEBUG则执行陷阱:此处我们重定向stderr到文件/path/to/your_file(确保提供绝对路径).PROMPT_COMMAND变量中执行字符串:这里我们将fd2重定向到fd3(当fd3指向终端时,fd3是fd2的副本).这是打印提示所必需的.我不认为这是一种强大或好的方法,但它可能会为你的目的做好准备.
| 归档时间: |
|
| 查看次数: |
297 次 |
| 最近记录: |