Como verificar a configuração do NGINX usando Bash?

Como verificar a configuração do NGINX usando Bash?

Preciso verificar programaticamente se a configuração do NGINX está correta usando o bash. O resultado do comando nginx -t é atribuído a uma variável, e pela condição eu comparo a substring - a sintaxe está ok com o resultado da saída da variável. Infelizmente, não dá certo. O que estou fazendo de errado?

    CHECK="nginx -t"
    SUB='syntax is ok'
    if [[ "eval $CHECK" == *"$SUB"* ]]; then
    echo "syntax is ok"
    else 
    echo "syntax is not ok"
    fi

Obrigado!

Responder1

nginx -tfornecerá um código de erro útil, então você pode simplesmente usar:

if nginx -t > /dev/null 2>&1; then
  echo "syntax is ok"
else 
  echo "syntax is not ok"
fi

informação relacionada