我有一个 bash 脚本,用于对 nginx 的虚拟主机进行一些操作。我想知道如果 nginx 无法正确重新加载,如何捕获错误(nginx reload
)。
我想使用nginx -t
但我不知道如何在 Bash 脚本中拦截错误。
答案1
为什么要进行更改然后直接重新加载 Nginx ?这会导致 Nginx 停止工作。
更好的流程是进行更改->执行 configtest->如果 configtest == ok->重新加载 nginx。
答案2
您可能想尝试以下方法:
#!/bin/sh
#...your script
nginx -t
if [ "$?" != "0" ]; then
echo "Error!"
exit 1
else
echo "All good"
fi