第六章 if条件语句的知识与实践
6.1 if条件语句的语法
6.1.1 单分支结构
if [ 条件 ]
then
指令
fi
或者
if [ 条件 ];then
指令
fi
简要形象的用中文语言来表示:
如果 [ 你有房 ]
那么
我就嫁给你
果如
6.1.2 双分支结构
if [ 条件 ]
then
指令1
else
指令2
fi
简要形象的用中文语言来表示:
如果 [ 你有房 ]
那么
我就嫁给你
否则
Goodbye!
果如
6.1.3 多分支结构
if [ 条件 ]
then
指令1
elif < 条件表达式 >
then
指令2
else
指令3
fi
简要形象的用中文语言来表示:
如果 < 你有房 >
那么
我就嫁给你
或者如果 < 你爸是李刚 >
那么
我也可以嫁给你
或者如果 < 你很上进 >
那么
我可以考虑一下是否和你谈朋友
否则
再见
果如
6.1.4 if语句实战
#1、开放shell脚本判断系统剩余内存大小,如果低于100M,就邮件报警给系统管理员
#!/bin/bash
mem=`free -m|awk -F "[ ]+" 'NR==2{print $4}'`
if [ "$mem" -lt 100 ]
then
echo "nei cun hai you $mem" >>/root/free.txt
mail -s "mem" 837367121@qq.com </root/free.txt
fi
#2、监控数据库
#!/bin/bash
mysql=`ss -lntup|grep 3306|wc -l`
if [ $mysql -lt 1 ] #或者[ -z "$mysql" ]
then
echo "mysql stop"
else
echo "mysql start"
fi
#3、创建用户
#!/bin/bash
if [ $# -lt 1 ]
then
echo "at least one argument"
exit 1
fi
if [ `echo "$1"|egrep [^a-zA-Z]|wc -l` -gt 0 ] #这个方法可以用来判断是否是整数或者字母或者特殊符号
then
echo "yao shu ru zi mu"
exit 2
fi
if id $1 &>/dev/null
then
echo "yi you ci $1"
else
useradd $1
[ $? -eq 0 ]&&echo "$1"|passwd --stdin $1
fi