1、ping主机测试,查看主机是否存活;
#!/bin/bash
ping -c 1 -w 3 www.baidu.com >/dev/null
if [ $? -ne 0 ];then
echo "this pc is not internet"
else
echo "this pc is survive"
fi
2、判断一个用户是否存在;
#!/bin/bash
read -p "please input a username:" username
grep "^$username:" /etc/passwd > /dev/null
if [ $? -ne 0 ]
then
echo "the user does not exist"
else
echo "the user exists"
fi
3、判断当前内核主版本是否为3,且次版本是否大于10;
#!/bin/bash
neihe=$(uname -r)
zhu=$(echo "$neihe" | cut -d. -f1)
ci=$(echo "$neihe" | cut -d. -f2)
if [ $zhu -eq 3 ] && [ $ci -gt 10 ]
then
echo "当前内核主版本为3,且次版本大于10"
else
echo "当前内核不满足主版本为3,且次版本大于10的条件"
fi
5、判断nginx是否运行;如果没有,则运行它,并且开机启动
#!/bin/bash
ps -aux | grep nginx | grep -v grep > /dev/null
if [ $? -ne 0 ]
then
echo "nginx don't start"
echo "nginx is start..."
systemctl start nginx
else
echo "nginx already start"
fi
6、判断指定的主机是否能ping通,必须使用$1变量;
#!/bin/bash
pc="$1"
ping -c 1 -W 1 -q "$1" &> /dev/null
if [ $? -eq 0 ]
then
echo "$1可以ping通"
else
echo "$1不能ping通"
fi
7、报警脚本,要求如下:
根分区剩余空间小于20%
内存已用空间大于80%
向邮箱发送告警邮件
配合crond每5分钟检查一次
[root@locaklhost ~]# echo "邮件正文" | mail -s "邮件主题" alice
#!/bin/bash
gen=$(df / | grep /dev | tr -s " " | cut -d " " -f5 | tr -d '%' )
nercun=$(free -m | grep Mem | tr -s " " | cut -d " " -f4 )
if [[ "$gen" -lt 30 ]] && [[ "$nercun" -gt 70 ]]
then
echo "空间不足!!" | mail -s "Mem_warnning" 3327375902@qq.com &> /dev/null
else
echo "空间充足!!"
fi
8、判断用户输入的是否是数字,如果是数字判断该数字是否大于10;
#!/bin/bash
read -p "please input a number:" a
if [[ "$a" =~ ^[0-9]+$ ]]
then
if [ "$a" -gt 10 ]
then
echo "这个数字大于10"
else
echo "这个数字不大于10"
fi
else
echo "输入不是数字"
fi
9、计算用户输入的任意两个整数的和、差、乘积、商、余数,
判断用户输入的参数是否是两个,如果不是,提示用法;
判断用户输入的是否是整数,如果不是,则给出提示终止运行。
#!/bin/bash
echo "请输入第一个数字:"
read num1
echo "请输入第二个数字:"
read num2
if ! [[ "$num1" =~ ^-?[0-9]+$ ]] || ! [[ "$num2" =~ ^-?[0-9]+$ ]]
then
echo "输入不为整数"
exit
fi
sum=$((num1+num2))
cha=$((num1-num2))
cheng=$((num1*num2))
shang=$((num1/num2))
yu=$((num1 % num2))
echo "和: $sum"
echo "差: $cha"
echo "乘积: $cheng"
echo "商: $shang"
echo "余数: $yu"