Bourne shell:如何向 stderr 消息添加前缀字符串?

Bourne shell:如何向 stderr 消息添加前缀字符串?

我在 Bourne shell 上运行脚本,例如不是 bash(实际上是来自 BusyBox 1.23.2 的 sh)。

正如在这个问题,我想“捕获”脚本中命令发出的错误消息,并预先附加一个字符串,使它们在日志文件中突出显示。
但是与链接问题中提供的答案相反,我无法使用进程替换,因为 shell 不是 bash。

我将所有输出重定向到日志文件:

#exec 3>&1 4>&2 >>$LOGFILE 2> >(sed 's/^/ *** ERROR:  /' >&1)
#  -->  -sh: syntax error: unexpected redirection
exec 3>&1 4>&2 >>$LOGFILE 2>&1

相关内容