我在 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