本文总结了if判断语句在运维环境中最常用的几种语句,欢迎探讨!
一、if语句的语法
if [ 条件判断 ]; then ... ... elif [ 条件判断 ]; then ... ... else ... ... fi
二、数字大小比较
[ $a -eq $b ] 判断 a 是否等于 b [ $a -ne $b ] 判断 a 是否不等 b [ $a -gt $b ] 判断 a 是否大于 b [ $a -ge $b ] 判断 a 是否大等 b [ $a -lt $b ] 判断 a 是否小于 b [ $a -le $b ] 判断 a 是否小等 b
其中a和b均为整数型变量
三、字符串的对比和判断
[root@scott ~]# str1=abc; str2=abd [ -z str ] 判断 str 是否长度为0 [ -n str ] 判断 str 是否长度不为0 [ str1 == str2 ] 判断 str1 与 str2 是否相同 [ str1 != str2 ] 判断 str1 与 str2 是否不同 [ str1 \> str2 ] 判断 str1 是否大于 str2 [ str1 \< str2 ] 判断 str1 是否小于 str2 [[ str1 > str2 ]] 判断 str1 是否大于 str2 [[ str1 < str2 ]] 判断 str1 是否小于 str2
字符串str可以是数字或是字母
四、逻辑判断
[ $a -lt $b -a $str1 == $str2 ] a 大于 b, 而且 str1 与 str2 相等 (&&) [ $a -lt $b -o $str1 == $str2 ] a 大于 b, 或者 str1 与 str2 相等 (||) [[ $a -gt $b && $str1 == $str2 ]] a 大于 b, 而且 str1 与 str2 相等 (&&) [[ $a -gt $b || $str1 == $str2 ]] a 大于 b, 或者 str1 与 str2 相等 (||) [ $a -lt $b ] && [ $str1 == $str2 ] a 大于 b, 而且 str1 与 str2 相等 (&&) [ $a -lt $b ] || [ $str1 == $str2 ] a 大于 b, 或者 str1 与 str2 相等 (||)
-a "and" 与 -o "or" 或 && 与 || 或 注意方括号的作用和层数
五、文件和目录的判断
[ -e file ] 判断文件是否存在 [ -f file ] 判断文件是否是普通文件 [ -d file ] 判断文件是否是目录文件 [ -b file ] 判断文件是否块设备文件 [ -c file ] 判断文件是否字符设备文件 [ -s file ] 判断文件是否是非空文件 [ -r file ] 判断文件是否可读 [ -w file ] 判断文件是否可写 [ -x file ] 判断文件是否可执行