谁能帮我解释一下为什么当我将以下代码放入自定义 Nagios 命令的 command_line 中时,它没有运行?当我在终端中运行它时它起作用。
command_name notify-host-by-sms
commnad_line echo -e "AT+CMGS="$CONTACTPAGER$"\r" | socat -t3 - TCP:XXX.XXX.XXX.XXX:10002 && echo -e "$HOSTNAME$ $HOSTSTATE$ $HOSTADDRESS$ $LONGDATETIME$\x1A" | socat - TCP:XXX.XXX.XXX.XXX:10002
在 Nagios 中无法使用
|
and ,因此您必须将其包装为脚本。(此外,它不适用于拼写错误。)&&
command_line
commnad_line
然后在脚本中使用这些命令行参数,例如,
(我添加了额外的引号,因为
AT+CMGS=
可能需要它们围绕值。我相信这是您的意图,但它们只是没有转义。)