【发布时间】:2016-10-20 11:45:37
【问题描述】:
我刚刚加入 Stackoverflow,因为我需要一些帮助。我一直在对我们的 Red Hat 服务器进行一些基本管理,因为我们在其上运行 Nagios,但有人要求我编写一些脚本来监控我们的 SAP 环境。
我已经修改了 SAP 服务器和一个 CCMS 插件来重新调整我们需要的输出:
EU_PUT 历史 = EU_PUT | 00101401 | Afgebroken |,开始于 2016-10-20,00:10:18 终止于 2016-10-20,00:10:18
我想使用捕获的输出 (^) 并检查它是否包含单词“Beënd”。如果是,则意味着作业成功结束,如果不是,则意味着作业失败(无论失败状态如何)。无论我做什么,脚本都不会接受输出。运行以下脚本时输出成功显示,但比较不起作用。
我做错了什么?任何帮助将不胜感激!
亲切的问候, 丹尼斯·兰斯
#!/bin/bash
T1="*Beënd*"
#For Nagios reporting purposes:
unknown="0"
ok="1"
warning="2"
critical="3"
output=$(/usr/local/nagios/libexec/check_sap job_eu_put lnx '2>&1')
if [[ "$output" == "$T1" ]]
then
echo $output
exit $ok
else
echo $output
exit $critical
fi
【问题讨论】:
-
你为什么将重定向用引号括起来?你有没有看过 output 在匹配失败时真正包含的内容?
标签: bash output comparison nagios