ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

shell06(nginx服务,case分支)

2021-05-16 14:01:29  阅读:142  来源: 互联网

标签:case stop echo nginx usr && shell06 local


  ↵

配置nginx服务,nginx与httpd一样也是网站服务,但安装和使用方式有所不同,编写脚本,安装nginx

[root@svr7 ~]# tar -xf lnmp_soft.tar.gz    #释放软件包

[root@svr7 ~]# cp lnmp_soft/nginx-1.17.6.tar.gz  /opt   #拷贝nginx到opt下

[root@svr7 ~]#  cd  /opt

                      vim  test03.sh

#!/bin/bash

yum -y install gcc make pcre-devel openssl-devel  #安装依赖

tar -xf nginx-1.17.6.tar.gz   #释放nginx的tar包

cd nginx-1.17.6   #进入nginx目录

./configure  #配置

make   #编译

make install    #安装

[root@svr7 ~]#  ls  /usr/local/nginx    #脚本执行完毕后查看

[root@svr7 ~]#  systemctl stop httpd  #关闭之前网站服务

[root@svr7 opt]# /usr/local/nginx/sbin/nginx   #开启nginx

[root@svr7 opt]# systemctl stop firewalld   #关闭防火墙

        使用浏览器访问虚拟机地址,比如http://192.168.4.7看到欢迎字样即可

使用case分支编写脚本,用来控制nginx服务

#!/bin/bash

case $1 in    #使用执行脚本后的第1个位置变量作为匹配对象

start|kai|k)    #如果$1是start|kai|k中的任意一个就执行下面命令

    /usr/local/nginx/sbin/nginx;;       #开服务

stop|guan)  #如果$1是stop|guan中的任意一个就执行下面命令

    /usr/local/nginx/sbin/nginx -s stop;;   #关服务

restart|cq)  #如果$1是restart|cq中的任意一个就执行下面命令

    /usr/local/nginx/sbin/nginx -s stop     #先关闭

/usr/local/nginx/sbin/nginx;;      #再开启,相当于重启服务

cha|status)

    netstat -ntulp | grep -q nginx

    [ $? -eq 0 ] && echo "nginx正在运行。。。"  || echo "nginx未开启。。。";;

*)

    echo "请输入start|stop|restart"

esac

netstat 命令可以查询系统启动的端口信息

-n以数字格式显示端口号

-t显示TCP连接的端口

-u显示UDP连接的端口

-l显示服务正在监听的端口信息,如httpd启动后,会一直监听80端口

-p显示监听端口的服务名称是什么(也就是程序名称)

 

echo -e "\033[32mABCD\033[0m"    # 输出不同颜色的字体

函数,使用一个函数名称存储公共的语句块,实现精简脚本方便后期调用的效果

[root@svr7 ~]#  a(){  #定义函数,函数名是a

                          echo abc     #大括号里面是函数a的所有任务

                          echo xyz

                               }

 

[root@svr7 ~]#  a   #调用函数

再次将之前脚本改良,加入可以定义颜色的函数,然后下方调用并且加入判断效果,如果服务已经开启不会报错

#!/bin/bash

c(){          #定义函数名字叫c,可以用来输出不同颜色的内容

echo -e "\033[$1m$2\033[0m"

}

case $1 in

start|kai|k)

    netstat -ntulp | grep -q nginx    #检测nginx是否开启

    [ $? -eq 0 ] && c 32 "nginx已开启" && exit   #如果开启就喊出提示并推出

    /usr/local/nginx/sbin/nginx;;                   #如果没开启就正常执行开启任务

stop|guan)

    /usr/local/nginx/sbin/nginx -s stop;;

restart|cq)

    /usr/local/nginx/sbin/nginx -s stop

    /usr/local/nginx/sbin/nginx;;

cha|status)

    netstat -ntulp | grep -q nginx

    [ $? -eq 0 ] && c 32 "nginx正在运行。。。"  || c 31 "nginx未开启。。。";;

*)

    echo "请输入start|stop|restart"

esac

exit    #可以终止循环,但同时也终止脚本

break  #可以终止循环,继续执行循环之后的任务

continue  #终止当前循环,继续下一次循环

编写脚本,可以帮助用户进行整数求和,如果用户输入数字为0时,终止求和并输出之前的结果

#!/bin/bash

x=0

while :

do

read -p "请输入一个整数求和(0是结束并输出结果)" n

[ -z $n ] && continue

[ $n -eq 0 ] && echo "结果为$x" && exit

let x+=n

done

 

 

#!/bin/bash

x=0

while :   #while循环后面写冒号代表永远正确可以无效循环

do

read -p "请输入一个整数求和(0是结束并输出结果)" n

[ -z $n ] && continue    #如果n是空值则重新进行循环任务

[ $n -eq 0 ] && break   #如果n是0则退出循环执行循环后任务

let x+=n           #不断的将n的值保存在x里

done

echo "结果为$x"

 

 

 

标签:case,stop,echo,nginx,usr,&&,shell06,local
来源: https://blog.csdn.net/qq_57563144/article/details/116889808

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有