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
답변1
변수 할당이 잘못되었습니다. 당신이 찾고있는명령 대체:
answer=$(snmpget 127.0.0.1 -v 2c -c public .1.3.6.1.4.1.2021.11.9.0 | grep -Eo '[0-9]+$')
작성한 대로 다음 옵션을 사용하여 answer=snmpget
명령에 대한 환경 변수로 설정합니다.127.0.0.1
-v 2c -c public .1.3.6.1.4.1.2021.11.9.0
또한 [3-50]
이것은 [51-100]
당신이 원하는 것을 거의 확실히 수행하지 못할 것이라는 점에 유의하십시오. 바라보다:비교 연산자를 사용할 수 있나요?