shell 第三次练习

1、ping主机测试

[root@localhost shell]# vim ping.sh

//脚本内容如下:
#!/bin/bash
read -p "请输入域名:" ad
if ping -c4 $ad &> /dev/null
then
    echo $ad is up 
else
    echo $ad is down
fi

//测试:
[root@localhost shell]# sh ping.sh
请输入域名:www.baidu.com
www.baidu.com is down


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

[root@localhost shell]# vim user.sh

//脚本内容如下:
#!/bin/bash

read -p "请输入用户名:" us
id $us
if [ $? -eq 0 ]
then
    echo "用户已存在!"
else
    echo "用户不存在!"
fi

//测试:
[root@localhost shell]# sh user.sh
请输入用户名:root
uid=0(root) gid=0(root) groups=0(root)
用户已存在!


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

[root@localhost shell]# uname -r
3.10.0-1160.el7.x86_64

[root@localhost shell]# vim banben.sh
//脚本内容如下:
#!/bin/bash
main=`uname  -r | awk -F . '{print $1 }'`
minor=`uname -r | awk -F . '{print $2}'`
if [ "$main"  -eq 3 ] && [ "$minor" -ge 10 ]
then
    echo "主版本是:$main
次版本是:$minor"
else
    echo "主版本不是 3"
fi

//测试:
[root@localhost shell]# sh banben.sh
主版本是:3
次版本是:10


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

[root@localhost shell]# vim yum.sh
//脚本内容如下:
#!/bin/bash
if rpm -q vsftpd &> /dev/null
then
    echo "已经安装"
else
    echo "未安装我将自动安装!"
    yum install vsftpd -y &> /dev/null
    echo "安装成功" 
fi


//测试:
[root@localhost shell]# sh yum.sh
未安装我将自动安装!
安装成功
[root@localhost shell]# rpm -q vsftpd
vsftpd-3.0.2-29.el7_9.x86_64


5、判断httpd是否运行

[root@localhost shell]# vim httpdsun.sh
//脚本内容如下:
#!/bin/bash
if [ $(ps -elf | grep httpd | grep -v grep|wc -l) -eq 0 ]
then
    echo "httpd没有运行"
else
    echo "httpd正在运行"
fi


//测试:
[root@localhost shell]# sh httpdsun.sh
httpd正在运行


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

[root@localhost shell]# vim ping2.sh
//脚本内容如下:
#!/bin/bash
ping -c 2 $1 &> /dev/null
if [ $? -eq 0 ]
then
    echo "成功ping通"
else
    echo "未能ping通!"
fi

//测试:
[root@localhost shell]# sh ping2.sh www.baidu.com
未能ping通!


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

[root@localhost shell]# sh baojing.sh
//脚本内容如下:
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%" | mail -s "警告信息" alice
elif [ $v2 -eq 1 ];then
  echo "根分区剩余空间小于20%" | mail -s "警告信息" alice
else
  echo "正常使用"
fi


//测试:
[root@localhost shell]# sh baojing.sh
You have mail in /var/spool/mail/root


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

[root@localhost shell]# vim number.sh
//脚本内容如下:
#!/bin/bash
read -p "请输入一个数字:" num
if expr $num + 1 &> /dev/null
then
    echo "是数字"
else
    echo "不是数字!"
fi

//测试:
[root@localhost shell]# sh number.sh
请输入一个数字:2
是数字
[root@localhost shell]# sh number.sh
请输入一个数字:a
不是数字!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个F啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值