![Wie überprüfe ich die NGINX-Konfiguration mit Bash?](https://rvso.com/image/170289/Wie%20%C3%BCberpr%C3%BCfe%20ich%20die%20NGINX-Konfiguration%20mit%20Bash%3F.png)
Ich muss die NGINX-Konfiguration programmgesteuert mit Bash auf Korrektheit prüfen. Das Ergebnis des Befehls nginx -t wird einer Variablen zugewiesen, und unter der Bedingung vergleiche ich, ob die Teilzeichenfolge - Syntax in Ordnung ist - mit dem Ergebnis der Variablenausgabe übereinstimmt. Leider klappt das nicht. Was mache ich falsch?
CHECK="nginx -t"
SUB='syntax is ok'
if [[ "eval $CHECK" == *"$SUB"* ]]; then
echo "syntax is ok"
else
echo "syntax is not ok"
fi
Danke!
Antwort1
nginx -t
liefert einen nützlichen Fehlercode, den Sie einfach verwenden können:
if nginx -t > /dev/null 2>&1; then
echo "syntax is ok"
else
echo "syntax is not ok"
fi