我需要使用 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