gpt4 book ai didi

linux - bash脚本调用另一个应用程序时如何向stderr输出添加附加信息

转载 作者:行者123 更新时间:2023-12-04 18:58:48 25 4
gpt4 key购买 nike

在 Ubuntu 上,我有一个运行应用程序的 bash 脚本。
当该应用程序段出现故障时,我会在 std err 中获得一些信息,例如

/usr/local/foo/script.sh: line 21: 494382 Segmentation fault      (core dumped) appplication_name_and_arguments_here
Std err 被重定向到一个文件,然后该文件将进入日志监控系统。
我想做的是在发生这种情况时用更多有用的信息来扩充 stderr 内容,例如一些环境变量和时间戳。
我怎样才能做到这一点?
谢谢。

最佳答案

您可以尝试在 script.sh 中设置 ERR 陷阱。 .试着把它放在靠近它的顶部作为开始:

set -o errtrace

trap err_trap ERR

function err_trap
{
printf 'ERR trap:\n' >&2
printf ' PATH=%s\n' "$PATH" >&2
printf ' PWD=%s\n' "$PWD" >&2
printf ' date: %s\n' "$(date)" >&2

exit 1
}
这是非常粗糙和准备好的,但希望你能够增强它来做你想做的事。
  • trap Bash Reference Manual 中的部分有关trap 的信息.
  • Mysterious LINENO in bash trap ERR对于(有些隐藏的)您可以使用 ERR 进行的可能有用的事情的示例陷阱。
  • What does set -o errtrace do in a shell script? set -o errtrace 的解释.
  • 关于linux - bash脚本调用另一个应用程序时如何向stderr输出添加附加信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71310438/

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