我正在编写一个 Nagios 插件,运行它时出现“找不到命令”。怎么了?为什么无法识别 127.0.0.1(或 localhost)?当我只运行 snmp 请求时——我有一个简单的数字作为输出——所以一切都很完美。
这是脚本
#!/bin/bash
answer=snmpget 127.0.0.1 -v 2c -c public .1.3.6.1.4.1.2021.11.9.0 | grep -Eo
'[0-9]+$'
case $answer in
[1-2]*)
echo "OK"
exit 0
;;
[3-50]*)
echo "WARNING"
exit 1
;;
[51-100]*)
echo "CRITICAL"
exit 2
;;
*)
echo "UNKNOWN"
exit 3
;;
esac
您的变量分配不正确。您正在寻找命令替换:
正如您编写的那样,您将其设置
answer=snmpget
为命令的环境变量:127.0.0.1
使用选项:-v 2c -c public .1.3.6.1.4.1.2021.11.9.0
另请注意
[3-50]
,[51-100]
几乎可以肯定不会按照您的意愿行事。请参阅:我可以使用比较运算符以防万一吗?