1
surfire91 2016-06-28 19:01:38 +08:00
因为 sbin 下的 nginx 输出是到标准错误输出
|
2
panzhc 2016-06-28 19:52:37 +08:00 1
if /opt/meida/nginx/sbin/nginx -t >/dev/null 2>&1; then
echo "nginx configure file ok" else echo "nginx configure file failed" fi |
3
holinhot OP @panzhc 谢谢,试了下可用。只是不太理解 /opt/meida/nginx/sbin/nginx -t >/dev/null 2>&1; 这句的含义。把错误和正确的都丢到丢弃怎么判断的
|
4
holinhot OP @panzhc
现在写好了 不太理解。 if /usr/local/nginx/sbin/nginx -t >/dev/null 2>&1; then echo "nginx configure file ok" if /etc/init.d/nginx status >/dev/null 2>&1; then echo "nginx running" /etc/init.d/nginx reload else echo "nginx is stop" /etc/init.d/nginx stop /etc/init.d/nginx start exit fi else echo "nginx configure file failed" exit fi |
5
exuxu 2016-06-29 09:44:32 +08:00
>/dev/null 标准输出到 /dev/null 设备,该设备是『黑洞』
2>&1 将错误输出( 2 )定向到标准输出( 1 ) (:节点是不是搞错了? |
7
panzhc 2016-07-03 11:38:54 +08:00
程序退出到时候有个代码,可以通过 $? 取到,写成下面也一样
/opt/meida/nginx/sbin/nginx -t >/dev/null 2>&1 if [ $? -eq 0 ] then echo "nginx configure file ok" else echo "nginx configure file failed" fi 重定向只不过是不想看到多余的输出 |