范例 7-2:
开发一个脚本判断系统剩余内存的大小, 如果低于 100MB, 就邮件报警给系统管理员, 并将脚本加入系统定时任务, 即每 3 分钟执行一次.
首先搞定邮件服务, 我的 centos 7 上面没有 mail 包, 所以就下载一个 rpm 的 mail 包安装, 下来时编辑配置文件:
[root@localhost ~]# tail -n 7 /etc/mail.rc
set from=***@163.com
set smtp=smtp.163.com
set smtp-auth-user=***
set smtp-auth-password=***
set smtp-auth=login
[root@localhost ~]#
然后测试邮件服务器是否正常:
[root@localhost ~]# echo "oldboy" | mail -s "cpu" ***@163.com # 好了
#!/bin/bash
men=`free -m | awk 'NR==3 {print $NF}'`
chars="current memory is $men"
if [ $men -lt 3000 ]; then
echo "$chars" | tee /tmp/messages.txt # 打印并且保存在文件中
mail -s "`date +%F-%T`-men" 17858655319@163.com < /tmp/messages.txt
fi
范例 7-3: 分别使用 read 读入及脚本传参的方式比较两个数字的大小. 把前面涉及到的是否为整数以及传参的个数是否按照要求的.
#!/bin/bash
read num
read num1
if [-z"$num"]; then
echo "plz input currt arges"
exit 4
fi
if [-z"$num1"]; then #发现这两个不能放一起使用 - a 连接起来判断, 会出现问题.
echo "plz input currt arges"
exit 5
fi
expr $num + 4 > /dev/null
aa=$
expr $num1 + 4 > /dev/null
bb=$
if [$aa -eq 0 -a $bb -eq 0]; then
if [$num -lt $num1]; then
echo ""$num"<"$num1""
else
echo ""$num">"$num1""
fi
else
echo "this is a bad int"
fi
多分支进行判断
来源: http://www.bubuko.com/infodetail-2484413.html