내 스크립트에 "명령을 찾을 수 없음"이 표시되는 이유는 무엇입니까?

내 스크립트에 "명령을 찾을 수 없음"이 표시되는 이유는 무엇입니까?

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]당신이 원하는 것을 거의 확실히 수행하지 못할 것이라는 점에 유의하십시오. 바라보다:비교 연산자를 사용할 수 있나요?

관련 정보