1.If条件判断语句
通常以if开头,fi结尾。也可加入else或者elif进行多条件的判断,if表达式如下:
if (表达式) 语句1 else 语句2 fi
2.If常见判断逻辑运算符详解:
-f 判断文件是否存在 eg: if [ -f filename ]; -d 判断目录是否存在 eg: if [ -d dir ]; -eq 等于,应用于整型比较 equal; -ne 不等于,应用于整型比较 not equal; -lt 小于,应用于整型比较 letter; -gt 大于,应用于整型比较 greater; -le 小于或等于,应用于整型比较; -ge 大于或等于,应用于整型比较; -a 双方都成立(and) 逻辑表达式 –a 逻辑表达式; -o 单方成立(or) 逻辑表达式 –o 逻辑表达式; -z 空字符串; || 单方成立; && 双方都成立表达式。
3.几种括号简单区别对比:
( ) 用于多个命令组、命令替换、初始化数组; (( )) 整数扩展、运算符、重定义变量值,算术运算比较; [] bash内部命令,[与test是等同的,正则字符范围、引用数组元素编号,不支持+-*/数学运算符,逻辑测试使用-a、-o。 [[ ]] bash程序语言的关键字,不是一个命令,[[ ]]结构比[ ]结构更加通用,不支持+-*/数学运算符,逻辑测试使用&&、||。 {} 主要用于命令集合或者范围,例如mkdir -p /data/201{7,8}/
4.If语句Shell脚本编程案例如下:
例1:比较两个整数大小。
#!/bin/bash #By author jfedu.net 2017 NUM=100 if (( $NUM > 4 )) ;then echo “The Num $NUM more than 4.” else echo “The Num $NUM less than 4.” fi
例2:判断系统目录是否存在。
#!/bin/bash #judge DIR or Files #By author jfedu.net 2017 if [ ! -d /data/20140515 -a ! -d /tmp/2017/ ];then mkdir -p /data/20140515 fi
例3: if多个条件测试分数判断。
#!/bin/bash #By author jfedu.net 2017 scores=$1 if [[ $scores -eq 100 ]]; then echo "very good!"; elif [[ $scores -gt 85 ]]; then echo "good!"; elif [[ $scores -gt 60 ]]; then echo "pass!"; elif [[ $scores -lt 60 ]]; then echo "no pass!" fi