Shell脚本判断语句

toc

if判断语句

单分支结构

if [ 如果你有房 ];then
    我就嫁给你
fi

双分支结构

if [ 如果你有房 ];then
    我就嫁给你
else
    再见
fi

多分支结构

if [ 如果你有房 ];then
    我就嫁给你
elif [ 你有车 ];then
    我就嫁给你
elif [ 你有钱 ];then
    我就嫁给你
else
    再见
fi

安装 Nginx 的脚本

#!/usr/bin/bash
## 判断网络是否畅通
ping -c1 www.baidu.com &>/dev/null
if [ $? -ne 0 ];then
    echo "请检查你的网络......"
    exit 1
fi
## yum 仓库
yum_repo=$(yum repolist|grep nginx|wc -l)
if [ $yum_repo -eq 0 ];then
    cat >/etc/yum.repos.d/nginx.repo <<-EOF
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/7/x86_64/
    gpgcheck=0
    enabled=1
    EOF
    yum makecache
elif [ $yum_repo -eq 1 ];then
    yum install nginx -y &>/dev/null
    Install_nginx=$(rpm -q nginx|wc -l)
    if [ $Install_nginx -eq 1 ];then
        echo "Nginx已经安装"
    fi
    Nginx_Status=$(systemctl status nginx|grep Active|awk '{print $1 $3}')
    systemctl start nginx &>/dev/null
    if [ $? -eq 0 ];then
        echo "Nginx已经启动完毕"
        echo "Nginx当前状态是: $Nginx_Status"
    else
        echo "Nginx启动失败 $Nginx_Status"
        pkill -9 httpd &>/dev/null
        pkill -9 nginx &>/dev/null
        systemctl start nginx
        if [ $? -eq 0 ];then
            echo -e "Nginx重新启动成功"
            Nginx_Status=$(systemctl status nginx|grep Active|a
            wk '{print $1 $3}')
            echo -e "\033[32m $Nginx_Status \033[0m"
        fi
    fi
else
    echo "不不知道什什么错误,请手动检查下"
fi

case判断语

case 语句

case 今天吃什么 in
馒头)
    馒头配菜吃着香
    ;;
米饭)
    其实盖饭也不错
    ;;
面条)
    面条种类多,似乎更好
    ;;
*)
    我就想翻牌
esac

Nginx 服务启动与停止脚本

#!/bin/bash
case $1 in
start)
    /usr/sbin/nginx &>/dev/null
    ;;
stop)
    /usr/sbin/nginx -s stop &>/dev/null
    ;;
restart)
    /usr/sbin/nginx -s stop &>/dev/null
    sleep 1
    /usr/sbin/nginx &>/dev/null
    ;;
reload)
     /usr/sbin/nginx -s reload
    ;;
status)
    Ngx_status=$(ps aux|grep "[n]ginx"|egrep -v "vi|sh"|grep master|awk '{print
$2}')
    Nginx_Status_Port=$(netstat -lntp|grep nginx|awk '{print $4}')
    echo "Nginx_status_Pid: $Ngx_status"
    echo "Nginx_status_Port: $Nginx_Status_Port"
    ;;
*)
    echo "Usage: $0 {start|stop|status|restart|reload|}"
esac

posted on 2019-11-18 18:45  云襄  阅读(362)  评论(0编辑  收藏  举报

导航