hellopasswd
shell中的逻辑判断
- 格式1:if条件;then语句;fi
- 格式2:if条件;then语句;else语句;fi
- 格式3:if条件;then语句;elif语句;then语句;else语句;fi
- 逻辑判断表达式:if[$a -gt $b];if[$a =lt 5];if[$b -eq 10]等 -gt(>);-lt(<);-ge(>=);-le(<=);-eq(==);-ne(!=)注意到处都是空格
- 可以使用&&||结合多个条件
- if[$a -gt 5] && [$a -lt 10];then
- if[$b -gt 5] || [$b -lt 3];then
[root@localhost ~]# for i in `seq 1 5`> do> echo $i> done 1 2 3 4 5[root@localhost ~]# for i in `seq 1 5`; do echo $i; done 1 2 3 4 5
[root@localhost ~]# a=5[root@localhost ~]# if [ $a -gt 3 ]> then> echo ok> fi ok[root@localhost ~]# if [ $a -gt 3 ]; then echo ok; fi ok[root@localhost ~]# cd shell[root@localhost shell]# vi 1.sh 添加 1 #!/bin/bash 2 a=5 3 if [ $a -gt 3 ] 4 then 5 echo ok 6 fi[root@localhost shell]# sh 1.sh ok[root@localhost shell]# ./1.sh ok
[root@localhost shell]# vi 1.sh 添加 1 #!/bin/bash 2 a=1 3 if [ $a -gt 3 ] 4 then 5 echo ok 6 else 7 echo error 8 fi[root@localhost shell]# sh -x 1.sh + a=1 + '[' 1 -gt 3 ']' + echo error error
[root@localhost shell]# vi 1.sh 添加 1 #!/bin/bash 2 a=5 3 if [ $a -gt 1 ] 4 then 5 echo ">1" 6 elif [ $a -lt 6 ] 7 then 8 echo "<6 && >1" 9 else 10 echo error 11 fi[root@localhost shell]# sh -x 1.sh + a=5 + '[' 5 -gt 1 ']' + echo '>1' >1
[root@localhost shell]# if (($a>1)); then echo ok; fi ok
修改于 180206