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

相關內容