shell利用cat与if比较实现nginx启停

简介: shell利用cat与if比较实现nginx启停

系统预定义变量

    echo $*        #所有传递的位置参数:
    echo $@        #所有传递的位置参数:
    echo $#        #共传递的参数数量
    echo $$        #当前程序运行的PID:
    echo $?        #返回上一个命令执行的返回结果为0时代表上一个命令成功其他为错误
  • 举例
vi test.sh
  #!/bin/bash
  echo $*
  echo $@
./test.sh 2 34 535 54 35 345
2 34 535 54 35 345    #返回的值所有传递的位置参数
2 34 535 54 35 345    #返回的值所有传递的位置参数
vi test.sh
  #!/bin/bash
  echo $#
./test.sh 2 34 535 54 35 345
6   #返回的值总共传递的参数数量
vi test.sh
  #!/bin/bash
  echo $$
./test.sh
6667    #返回的值脚本本身pid
ls -l
总用量 8
-rw-------. 1 root root 2829 6月   7 18:25 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 6月   7 18:28 Desktop
drwxr-xr-x. 2 root root    6 6月   7 18:28 Documents
drwxr-xr-x. 2 root root    6 6月   7 18:28 Downloads
drwxr-xr-x. 2 root root    6 6月   7 18:28 Music
-rw-------. 1 root root 2109 6月   7 18:25 original-ks.cfg
drwxr-xr-x. 2 root root    6 6月   7 18:28 Pictures
drwxr-xr-x. 2 root root    6 6月   7 18:28 Public
drwxr-xr-x. 2 root root    6 6月   7 18:28 Templates
drwxr-xr-x. 2 root root    6 6月   7 18:28 Videos
echo $?
0    #上条命令为真

变量赋值

#read -p 交互方式变量赋值
vi test.sh
  #!/bin/bash    #开头
  read -p "请输入第一个值:" num1    #第一条read命令
  read -p "请输入第二个值:" num2
  sum=$((num1 + num2))    #引用通过read赋值的num1跟num2
  echo "$num1 + $num2 = $sum"
./test.sh
请输入第一个值:4   #返回结果
请输入第二个值:8   #返回结果
4 + 8 = 12        #返回结果

if比较

-r 文件名    如果文件存在且可读则为真
-w 文件名    如果文件存在且可写则为真
-x 文件名    如果文件存在且可执行则为真
-s 文件名    如果文件存在且至少有一个字符则为真
-d 文件名    如果文件存在且为目录则为真
-f 文件名    如果文件存在且为普通文件则为真
-c 文件名    如果文件存在且为字符型特殊文件则为真
-b 文件名    如果文件存在且为块特殊文件则为真
=    等于则为真
!=    不相等则为真
-z 字符串    字符串的长度为零则为真
-n 字符串    字符串的长度不为零则为真
-eq    等于则为真
-ne    不等于则为真
-gt    大于则为真
-ge    大于等于则为真
-lt    小于则为真
-le    小于等于则为真

举例

vi read3.sh
  #!/bin/bash
  read -p "请输入需要检测的ip地址:"IP    #交互方式指定ip
  ping -w1 -c1 ${IP} &> /dev/null   #-c指定包的数量,-w为等待时间秒为单位 &>:混合输出至                                
#/dev/null:系统自带垃圾箱
  if [ $? -eq 0 ];then            #if [];then  条件,then满足时返回
                        #$? -eq 0    $?返回的值等于0
    echo "${IP} 可以通信"     #满足$? -eq 0时返回
  else                #不满足上面条件时
    echo "${IP} 无法通信" 
  fi

CAT菜单

#!/bin/bash
cat << END
1) 启动nginx
2) 停止nginx
3) 查看nginx状态
END

当运行上面脚本时,将在界面上返回|1|2|3三个选项

简单利用从而实现启停nginx

#!/bin/bash
cat << END
1) 启动nginx
2) 停止nginx
3) 查看nginx状态
END
read -p "请输入您要选择的序号" sel
if [ ${sel} -eq 1 ];then    #当$sel为1时运行以下命令
    sudo systemctl start nginx
    echo "nginx已启动"
fi
if [ ${sel} -eq 2 ];then    #当$sel为2时运行以下命令
    sudo systemctl stop nginx
    echo "nginx已关闭"
fi
if [ ${sel} -eq 3 ];then    #当$sel为3时运行以下命令
    echo "nginx状态如下$(sudo systemctl status nginx|head -3|tail -1|awk '{print $2}')"
fi

创作不易  觉得不错留下三连

目录
相关文章
|
6月前
|
Linux Shell
【Shell 命令集合 基础命令】Linux cat 命令使用教程
【Shell 命令集合 基础命令】Linux cat 命令使用教程
99 1
|
6月前
|
Shell
在Shell脚本中的if语句
在Shell脚本中的if语句
93 1
|
6月前
|
应用服务中间件 Shell 开发工具
nginx+shell脚本实现一键启用与关闭停机维护页面
nginx+shell脚本实现一键启用与关闭停机维护页面
126 0
|
Ubuntu 应用服务中间件 Shell
用shell脚本部署nginx
用shell脚本部署nginx
162 2
|
Shell 分布式数据库
shell脚本中if判断‘-a‘ - ‘-z‘含义
shell脚本中if判断‘-a‘ - ‘-z‘含义
|
应用服务中间件 Linux Shell
|
4月前
|
前端开发 应用服务中间件 Linux
Nginx15-16服务器启停命令
Nginx15-16服务器启停命令
|
5月前
|
Shell
Shell脚本之条件语句if总结
Shell脚本之条件语句if总结
|
5月前
|
Shell Linux BI
linux shell脚本中 if 条件判断
linux shell脚本中 if 条件判断
37 0
|
6月前
|
Shell
shell 学习(四)【if语法 for循环控制】
shell 学习(四)【if语法 for循环控制】
43 0