【发布时间】:2017-04-06 17:42:35
【问题描述】:
以下代码放在我正在使用的许多脚本之上...
#!/bin/bash
# redirect all error messages to the protocol,
# then print the same message to stdout
exec 1> >(logger -i -s -t $0 -p 4) 2>&1
这行代码将使运行我的脚本时发生错误的协议条目。
但是当通过stdin 和stdout 进行通信时,此代码无法正常工作。我只想记录错误消息。
说实话,我不知道我是如何设法让这行编码工作的。
尽管如此,我正在寻找一个代码来替换 exec 和 logger 的组合 用 但我不知道如何捕捉/以这种方式接收错误消息。function 放入 trap "createErrorMessage" ERR。
我的目标是只创建所有错误消息的协议条目。
需要明确的是,我不想在每段代码之后使用$?,也不想用Variable=$() 捕获每段代码。
这可能吗?
【问题讨论】:
-
为什么这个问题被标记为
systemd?问题中根本没有提到它。也不清楚“错误消息的协议条目”是什么意思。