我正在尝试在我的 shell 脚本中设置一个简单的日志记录框架。为此,我想定义一个可调用的“日志”函数
log "LEVEL" $message
其中消息是一个变量,我之前已将执行命令的输出重定向到该变量。我的麻烦是我收到以下错误
{message=command 2>&3 1>&3 3>&-} >&3
log "INFO" $message
是不是有什么问题?
TIA
我正在尝试在我的 shell 脚本中设置一个简单的日志记录框架。为此,我想定义一个可调用的“日志”函数
log "LEVEL" $message
其中消息是一个变量,我之前已将执行命令的输出重定向到该变量。我的麻烦是我收到以下错误
{message=command 2>&3 1>&3 3>&-} >&3
log "INFO" $message
是不是有什么问题?
TIA
我为我的 shell 脚本开发了一个简单的多级记录器,你可以看看使用、灵感或任何你想要的东西。
目前尚不完全清楚您的问题与日志记录有关(看起来您的问题是捕获要记录的文本,格伦杰克曼已经巧妙地提出了解决方案),但以防万一,您可能希望了解logger
找到的命令在大多数 Unix 系统上——它为 shell 脚本提供了编写系统日志的能力。它有不同的级别和优先级以及一切。非常便利。
也许你想要:
message=$( command 2>&1 )
log INFO "$message"
除了$()
,您还需要在花括号中使用空格和分号(如果您甚至需要它们):
{ command; }