shell判断多单分支

1、ping主机测试
2、判断一个用户是否存在
3、判断当前内核主版本是否为3,且次版本是否大于10
4、判断vsftpd软件包是否安装,如果没有则自动安装
5、判断httpd是否运行 6、判断指定的主机是否能ping通,必须使用$1变量
7、报警脚本,要求如下: 根分区剩余空间小于20% 内存已用空间大于80% 向用户alice发送告警邮件 配合crond每5分钟检查一次
[root@locaklhost ~]# echo “邮件正文” | mail -s “邮件主题” alice 8、判断用户输入的是否是数字

1、ping主机测试

#!/bin/bash

read -p “请输入检测域名:” url

if ping -c3 KaTeX parse error: Expected 'EOF', got '&' at position 5: url &̲>/dev/null then…url is up"
else
echo “$url is down”
fi
在这里插入图片描述

2、判断一个用户是否存在

2>&1 的意思就是将标准错误重定向到标准输出。

#!/bin/bash
read -p “请输入您要查询的用户名:” user
id -u KaTeX parse error: Expected 'EOF', got '&' at position 6: user &̲>/dev/null 2>&1…?" == “0” ]
then
echo “用户 u s e r 存 在 ! ! " e l s e e c h o " 用 户 user存在!!" else echo "用户 user"elseecho"user不存在,一位您创建$user用户”
fi

在这里插入图片描述

3、判断当前内核主版本是否为3,且次版本是否大于10

#!/bin/bash

if [ $(uname -r | cut -d"." -f2) -eq 3 ]
then
if [ $(uname -r | cut -d"." -f2) -gt 10 ]
then
echo “主板号为3,且子版本号大于10”
else
echo “主板号为3,子板本号不大于10”
fi
else
echo “主版本号不为3”
fi

在这里插入图片描述

4、判断vsftpd软件包是否安装,如果没有则自动安装

#!/bin/bash
if rpm -q vsftpd &>/dev/null
then
echo “vsftpd已经安装”
else
echo “vsftpd没有安装将为您安装”
yum install -y vsftpd &>/dev/null
echo “vsftpd已为您安装成功!!!”
fi

在这里插入图片描述

5、判断httpd是否运行

#!/bin/bash

if [ $(ps -ef | grep httpd | grep -v grep | wc -l) -gt 0 ]
then
echo “httpd正在运行”
else
echo “httpd没有运行”
fi

在这里插入图片描述

6、判断指定的主机是否能ping通,必须使用$1变量

#!/bin/bash
ping -c 2 -w 0.2 $1 &>/dev/null
if [ $? -eq 0 ]
then
echo “$1可以ping”
else
echo “$1主机ping不通”
fi

在这里插入图片描述

7、报警脚本,要求如下: 根分区剩余空间小于20% 内存已用空间大于80% 向用户alice发送告警邮件 配合crond每5分钟检查一次 [root@locaklhost ~]# echo “邮件正文” | mail -s “邮件主题” alice

#!/bin/bash
  
total_mem=$(free -m | tr -s " " | cut -d " " -f 2 | head -2 | tail -1)
used_mem=$(free -m | tr -s " " | cut -d " " -f 3 | head -2 | tail -1)
used_memper=$(echo "scale=2;$used_mem/$total_mem*100" | bc)
total_root=$(df | grep "/"$ |tr -s " " | cut -d " " -f 2)
used_root=$(df | grep "/"$ |tr -s " " | cut -d " " -f 4)
free_rootper=$(echo "scale=2;$used_root/$total_root*100" | bc)
v1=$(echo "used_memper > 80" | bc)
v2=$(echo "free_rootper < 20" | bc)
if [ $v1 -eq 1 ];then
          echo "内存已用空间大于80%" 
  elif [ $v2 -eq 1 ];then
            echo "根分区剩余空间小于20%" 
    else
              echo "正常使用"
 fi

在这里插入图片描述

8、判断用户输入的是否是数字

#!/bin/bash

read -p “请输入:” num
if expr $num “+” 10 &>/dev/null
then
echo “是数字!”
else
echo “不是数字!!”
fi

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值