-gt 表示大于
-lt 表示小于
-ge 表示大于等于
-le 表示小于等于
-eq 表示等于
-ne 表示不等于
语法:
格式 1:if 条件 ; then 语句; fi #如果满足条件, 然后怎么样.
例如:
- a=5
- if [ $a -gt 3 ] ; then echo ok; fi
写出脚本就是:
- #!/bin/bash
- a=5
- if [ $a -gt 3 ]
- then
- echo ok
- fi
格式 2:if 条件; then 语句; else 语句; fi #如果满足条件, 怎么样, 不满足, 又怎么样.
- #!/bin/bash
- a=5 #a=5
- if [ $a -gt 3 ] #如果 a 大于 3
- then #那么
- echo ok #显示 ok
- else #否则
- echo nook #显示 nook
- fi
格式 3:if ...; then ... ;elif ...; then ...; else ...; fi #如果满足匹配条件, 则显示什么, 且满足了第二个条件, 显示什么, 否则, 显示什么
- #!/bin/bash
- a=5 #a=5
- if [ $a -gt 1 ] #如果 a 大于 1
- then #那么
- echo ">1" #显示 ok
- elif [ $ a -lt 6] #在满足之前的条件之上, 然后 a 又小于 6
- then #那么
- echo "<6 &&>1" #显示 < 6 &&>1 && 表示并且.
- else #如果两个条件都不满足, 那就匹配除这两个条件之外, 其他的条件了
- echo nook #显示 nook
- 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 #当 a 大于 5 并且小于 10 的时候
- if [ $b -gt 5 ] || [ $b -lt 3 ]; then #当 a 大于 5 或者小于 3 的时候
# 如果 a 大于 1, 那么 echo ok, 这样太繁琐
来源: http://www.bubuko.com/infodetail-2901177.html