shell脚本错误日志记录
我正在尝试在shell脚本中设置一个简单的日志框架。为此,我想定义一个“log”函数,可调用为shell脚本错误日志记录,shell,logging,scripting,descriptor,Shell,Logging,Scripting,Descriptor,我正在尝试在shell脚本中设置一个简单的日志框架。为此,我想定义一个“log”函数,可调用为 log "LEVEL" $message 其中消息是一个变量,我之前已将已执行命令的输出重定向到该变量。我的问题是,我得到以下错误 {message=command 2>&3 1>&3 3>&-} >&3 log "INFO" $message 有点不对劲,不是吗 TIA也许您想要: message=$( command 2>&
log "LEVEL" $message
其中消息是一个变量,我之前已将已执行命令的输出重定向到该变量。我的问题是,我得到以下错误
{message=command 2>&3 1>&3 3>&-} >&3
log "INFO" $message
有点不对劲,不是吗
TIA也许您想要:
message=$( command 2>&1 )
log INFO "$message"
除了$()
,您还需要在花括号中使用空格和分号(如果需要):
还不完全清楚您的问题是否与日志记录有关(看起来您的问题是捕获要记录的文本,glenn jackman已经巧妙地提出了解决方案),但以防万一,您可能希望了解大多数Unix系统上的
logger
命令,它提供shell脚本编写系统日志的能力。它有不同的层次、优先级和所有方面。非常方便。我已经为我的shell脚本开发了一个简单的脚本,您可以查看它的用途、灵感或任何您想要的东西。错误?什么错误?我看这里没有错误。(换句话说,如果您发布错误,它会有所帮助。)我无法访问脚本ATM,只能使用内存。我将编辑我的文章ASAPHi,这将是一个好的,但我没有访问syslog配置。不管怎样,感谢eddyI最终这样做,并在命令返回值上切换日志目的地。ThanksHi,这就是我最后要做的,还有一个if开关,用于检查命令返回值并适当设置日志类别。谢谢,EddyPerfect的工作伙伴。我一直在寻找这样一个易于使用和轻量级的框架。做得好。
{ command; }