深入浅出Linux-Shell编程[三】
3、Shell 分支if语句
1、单分支 IF 条件语句
1、语法格式
| if [ 条件判断式 ];then 条件成立时, 执行的程序 fi # if语句使用fi结尾和一般语言使用大括号结尾不同 # [条件判断式] 就是使用test命令判断 ,所以中括号和条件判断式之间必须有空格 # then 后面跟符号条件之后执行的程序 ,可以放在[]之后 ,用";"分割。也可以换行写入 ,就不需要";"了 |
2、实例
2、双分支语句
1、语法格式
| if [ 条件判断式 ]; then 条件成立时 ,执行的程序 else 条件不成立时, 执行的另一个程序 fi |
2、实例
| # 判断输入的是不是目录 #!/bin/bash read ‐t 30 ‐p "please input a dir :" dir if[ ‐d "$dir" ];then # 注意前后的空格 echo "输入的是目录" else echo "输入的不是目录" fi # 判断 apache 是否启动 #!/bin/bash test = $(ps aux | grep httpd | grep ‐v grep) # 截取httpd进程, 并把结果赋予变量test if [ ‐n test ];then # 如果test不为空 echo "the apache is on running!" >> /~/running.log else /etc/rc.d/init.d/httpd start &> dev/null echo "the apache is restart!" >> /~/restart.log fi |
3、多分支语句
1、语法格式
| if [ 条件判断式1 ] then 当条件判断式1成立时, 执行程序1 elif [ 条件判断式2 ] then 当条件判断式2成立时, 执行程序2 ...省略更多条件 .... else 当所有条件都不成立, 最后执行此程序 fi |
2、实例
| #!/bin/bash # 从键盘输入获取数字赋值给变量age read age if (( $age <= 2 )); then echo "婴儿" elif (( $age >= 3 && $age <= 8 )); then echo "幼儿" elif (( $age >= 9 && $age <= 17 )); then echo "少年" elif (( $age >= 18 && $age <=25 )); then echo "成年" elif (( $age >= 26 && $age <= 40 )); then echo "青年" elif (( $age >= 41 && $age <= 60 )); then echo "中年" else echo "老年" fi |
- 点赞
- 收藏
- 关注作者
评论(0)