shell第四章作业

1、ping主机测试,查看主机是否存活;

[root@master test4]# vim 1.sh

#!/bin/bash
ping -c 3  -w 3  192.168.159.129 $> /dev/null
if [ "$?" -eq "0" ]
then
        echo "host is running"
else
        echo "host is not running"
fi
 

[root@master test4]# chmod a+x ./1.sh
[root@master test4]# bash  1.sh
ping: $: Name or service not known
host is not running

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

[root@master test4]# vim  2.sh

#!/bin/bash
read -p "input a name:" hostname
grep "$hostname" /etc/group
if [ $? -eq 0 ]
then
        echo "hostname is exit"
else
        echo "is not exit"
fi

[root@master test4]# chmod a+x ./2.sh
[root@master test4]# bash  2.sh
input a name:hlt
hlt:x:1000:
hostname is exit

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

[root@master test4]# vim 3.sh

#!/bin/bash
main=`uname -r | awk -F . '{print $1}'`
minor=`uname -r | awk -F . '{print $2}'`
if [ "$main" -eq  3 ];then
        echo "main version is :$main"
else
        echo "main version is not 3"
fi
if [ "$minor" -gt 10 ];then
        echo "minor version is more than 10,mior version is:$minor"
else
        echo "minor version is not more than 10,minor version is:$minor"
fi

[root@master test4]# chmod a+x ./3.sh
[root@master test4]# bash 3.sh
main version is not 3
minor version is more than 10,mior version is:18

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

[root@master test4]# vim 4.sh
[root@master test4]# chmod a+x ./4.sh
#!/bin/bash
rpm -qa | grep vsftpd $>/dev/null
if [$? -eq 0 ];then
        echo"installed"
else
        yum install -y vsftpd
fi
[root@master test4]# bash 4.sh
grep: $: No such file or directory
4.sh: line 3: [2: command not found


Installed:
  vsftpd-3.0.3-35.el8.x86_64                                                     

Complete!
 

5、判断httpd是否运行;

[root@master test4]# vim 5.sh

#!bin/bash
if [`systemctl is-active httpd` = "acctive"]
then
        echo "httpd start"
else
        echo "httpd stop"
fi

[root@master test4]# chmod a+x ./5.sh
[root@master test4]# bash 5.sh
5.sh: line 2: [active: command not found
httpd stop

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

[root@master test4]# vim 6.sh

#!、bin/bash
ping -c 2 $1 &> /dev/null
if [ "$?" = 0 ];then
        echo "$1 is running"
else
        echo "$1 is not running"
fi

[root@master test4]# chmod a+x ./6.sh
[root@master test4]# ./6.sh 192.168.159.129
192.168.159.129 is running

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

[root@master test4]# vim 7.sh

#!/bin/bash
disk=`df | grep -w / | awk '{print $5}' | tr -d %`
mem_used=`free -m | grep -i mem | awk '{print $3}'`
mem_used=`free -m | grep -i mem | awk '{print $2}'`
mem=`echo $mem_used*100/${mem_total} | bc`
if [ “$disk” -gt 80 -o “$mem” -gt 80  ];then
        echo "disk used $disk%,memory used $mem%" | mail -s "mem and disk warning" root
fi

[root@master test4]# chmod a+x ./7.sh

8、判断用户输入的是否是数字,如果是数字判断该数字是否大于10

[root@master test4]# vim 8.sh


read -p "please enter a character,press enter to continue:" str
if echo "$str" | grep "[0-9]" &> /dev/nul
then
        echo "inpuut is number."
        if [ $str  -gt  10 ]
        then
                echo "the number is more than 10"
        else
                echo "the number is less than 10"
        fi
else
        echo "input is not a mumber"
fi
 

[root@master test4]# chmod a+x ./8.sh
[root@master test4]# bash 8.sh
please enter a character,press enter to continue:13
inpuut is number.
 

9、计算用户输入的任意两个整数的和、差、乘积、商、余数, 判断用户输入的参数是否是两个,如果不是,提示用法; 判断用户输入的是否是整数,如果不是,则给出提示终止运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值