Bash를 사용하여 NGINX 구성을 확인하는 방법은 무엇입니까?

Bash를 사용하여 NGINX 구성을 확인하는 방법은 무엇입니까?

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

관련 정보