使用bash测试并重新启动服务

时间:2019-06-15 15:51:53

标签: bash

以下脚本的目标是测试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语句中的语句也不会运行

1 个答案:

答案 0 :(得分:1)

替换

nginx -t

使用

nginx -t 2>&1

将其stderr设置为stdout。