以下脚本的目标是测试nginx配置,如果成功,它将如图所示重新启动服务。
#!/bin/bash
echo "checking nginx config..."
if sudo nginx -t | grep -q 'successful'; then
echo "restaring nginx..."
sudo systemctl restart nginx
fi
执行此脚本后,它将打印
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
但是,我不知道为什么即使结果文本包含“成功”,if语句中的语句也不会运行
答案 0 :(得分:1)
替换
nginx -t
使用
nginx -t 2>&1
将其stderr设置为stdout。