
bash를 사용하여 NGINX 구성의 정확성을 프로그래밍 방식으로 확인해야 합니다. nginx -t 명령의 결과는 변수에 할당되고 조건에 따라 하위 문자열을 비교합니다. 구문은 변수 출력 결과와 괜찮습니다. 불행히도 그것은 효과가 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
CHECK="nginx -t"
SUB='syntax is ok'
if [[ "eval $CHECK" == *"$SUB"* ]]; then
echo "syntax is ok"
else
echo "syntax is not ok"
fi
감사해요!
답변1
nginx -t
유용한 오류 코드를 제공하므로 다음을 간단히 사용할 수 있습니다.
if nginx -t > /dev/null 2>&1; then
echo "syntax is ok"
else
echo "syntax is not ok"
fi