第六章 if条件语句的知识与实践

6.1 if条件语句的语法

6.1.1 单分支结构

  1. if [ 条件 ]
  2. then
  3. 指令
  4. fi
  5. 或者
  6. if [ 条件 ];then
  7. 指令
  8. fi
  9. 简要形象的用中文语言来表示:
  10. 如果 [ 你有房 ]
  11. 那么
  12. 我就嫁给你
  13. 果如

6.1.2 双分支结构

  1. if [ 条件 ]
  2. then
  3. 指令1
  4. else
  5. 指令2
  6. fi
  7. 简要形象的用中文语言来表示:
  8. 如果 [ 你有房 ]
  9. 那么
  10. 我就嫁给你
  11. 否则
  12. Goodbye
  13. 果如

6.1.3 多分支结构

  1. if [ 条件 ]
  2. then
  3. 指令1
  4. elif < 条件表达式 >
  5. then
  6. 指令2
  7. else
  8. 指令3
  9. fi
  10. 简要形象的用中文语言来表示:
  11. 如果 < 你有房 >
  12. 那么
  13. 我就嫁给你
  14. 或者如果 < 你爸是李刚 >
  15. 那么
  16. 我也可以嫁给你
  17. 或者如果 < 你很上进 >
  18. 那么
  19. 我可以考虑一下是否和你谈朋友
  20. 否则
  21. 再见
  22. 果如

6.1.4 if语句实战

  1. #1、开放shell脚本判断系统剩余内存大小,如果低于100M,就邮件报警给系统管理员
  2. #!/bin/bash
  3. mem=`free -m|awk -F "[ ]+" 'NR==2{print $4}'`
  4. if [ "$mem" -lt 100 ]
  5. then
  6. echo "nei cun hai you $mem" >>/root/free.txt
  7. mail -s "mem" 837367121@qq.com </root/free.txt
  8. fi
  9. #2、监控数据库
  10. #!/bin/bash
  11. mysql=`ss -lntup|grep 3306|wc -l`
  12. if [ $mysql -lt 1 ] #或者[ -z "$mysql" ]
  13. then
  14. echo "mysql stop"
  15. else
  16. echo "mysql start"
  17. fi
  18. #3、创建用户
  19. #!/bin/bash
  20. if [ $# -lt 1 ]
  21. then
  22. echo "at least one argument"
  23. exit 1
  24. fi
  25. if [ `echo "$1"|egrep [^a-zA-Z]|wc -l` -gt 0 ] #这个方法可以用来判断是否是整数或者字母或者特殊符号
  26. then
  27. echo "yao shu ru zi mu"
  28. exit 2
  29. fi
  30. if id $1 &>/dev/null
  31. then
  32. echo "yi you ci $1"
  33. else
  34. useradd $1
  35. [ $? -eq 0 ]&&echo "$1"|passwd --stdin $1
  36. fi