shell脚本错误日志记录

时间:2010-06-08 16:50:01

标签: shell logging scripting descriptor

我正在尝试在我的shell脚本中设置一个简单的日志框架。为此,我想定义一个可以调用为

的“日志”功能
log "LEVEL" $message

消息是我之前重定向已执行命令输出的变量。我的麻烦是我得到以下

的错误
{message=command 2>&3 1>&3 3>&-} >&3
log "INFO" $message

有什么不对吗?

TIA

4 个答案:

答案 0 :(得分:3)

我为我的shell脚本开发了一个简单的multi-level logger,您可以查看使用,灵感或任何您想要的内容。

答案 1 :(得分:1)

也许你想要:

message=$( command 2>&1 )
log INFO "$message"

答案 2 :(得分:1)

你的问题与日志记录有关并不完全清楚(看起来你的问题是捕获要记录的文本,glenn jackman已经提出了解决方案),但为了以防万一,你可能希望了解在大多数Unix系统上找到的logger命令 - 它为shell脚本提供了编写系统日志的能力。它有各种级别和优先级和一切。非常方便。

答案 3 :(得分:0)

除了$()之外,您需要在花括号中使用空格和分号(如果您需要它们):

{ command; }