Как проверить конфигурацию NGINX с помощью Bash?

Как проверить конфигурацию NGINX с помощью Bash?

Мне нужно программно проверить конфигурацию NGINX на корректность с помощью bash. Результат команды nginx -t присваиваю переменной, и по условию сравниваю подстроку - синтаксис ok с результатом вывода переменной. К сожалению, не получается. Что я делаю не так?

    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

Связанный контент