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