如何使用 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

相关内容