다소 이상한 문제가 있는데 여러 서버에서 스크립트 (Bash)를 실행 중이며 서버 중 하나에서 작동이 중지되었습니다 (다른 모든 서버에서 완벽하게 작동).
다음 스크립트의 문제 부분은 다음과 같습니다 ((내가 나 자신을 작성하지 않은 모든 학점은 "리치"로 이동) http://www.notrainers.org/monitoring-memory-usage-on-linux-with-nagios- and-nrpe / )
if [ "$result" -lt "$warn_level" ]; then #Line 56
echo "Memory OK. $result% used."
exit 0;
elif [ "$result" -ge "$warn_level" ] && [ "$result" -le "$critical_level" ]; then #Line 59
echo "Memory WARNING. $result% used."
exit 1;
elif [ "$result" -gt "$critical_level" ]; then #Line 62
echo "Memory CRITICAL. $result% used."
exit 2;
fi
완전한 오류 메시지 :
./check_memory.sh: Line 56: [: 7.: integer expression expected
./check_memory.sh: Line 59: [: 7.: integer expression expected
./check_memory.sh: Line 62: [: 7.: integer expression expected
더 많은 정보가 필요하면 알려 주시면 최대한 빨리 정보를 제공하도록 노력하겠습니다.
모든 입력을 감사하십시오 :)
${result%%.*}소수점을 제거하는 올바른 확장입니다. 그러나cut -c -2이로 인해 100 개 이상의 숫자로 인해 문제가 발생할 수 있으므로 완전히 삭제하는 것이 더 안전합니다.