单分支if
语法
1 2 3 4 5 6 |
if 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ... fi |
示例
1 2 |
[root@clf ~]# if cd / ;then echo Y ;fi y |
双分支if
语法
1 2 3 4 5 6 7 8 9 10 11 |
if 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ... else 要执行的命令1 要执行的命令2 要执行的命令3 ... fi |
示例
1 2 3 4 5 6 7 8 9 10 |
#!/bin/bash username='clf' password='123' read -p 'user: ' name read -p 'passwd: ' passwd if [ $name = $username -a $passwd = $password ];then echo 'login successful' else echo 'username or password err' fi |
多分支if
语法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
if 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ... elif 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ... elif 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ... ... else 要执行的命令1 要执行的命令2 要执行的命令3 ... fi |
示例:查询成绩
1 2 3 4 5 6 7 8 9 10 11 |
========================================= #!/bin/bash read -p 'your score: ' score if [ $score -ge 90 ];then echo '优秀' elif [ $score -ge 70 -a $score -lt 90 ];then echo '良好' elif [ $score -ge 60 -a $score -lt 70 ];then echo '一般' elif [ $score -lt 60 ];then echo '较差' fi |
多分支if
语法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
if 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ... elif 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ... elif 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ... ... else 要执行的命令1 要执行的命令2 要执行的命令3 ... fi |
示例:猜年龄
1 2 3 4 5 6 7 8 9 10 |
#!/bin/bash age=87 read -p 'num: ' n if [ $n -eq $age ];then echo 'you get it' elif [ $n -gt $age ];then echo 'too big' elif [ $n -lt $age ];then echo 'too small' fi |