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

相關內容