条件语句是用来判断给定的条件是否满足(表达式值是否为0),并根据判断的结果(真或假)决定执行的语句,选择结构就是用条件语句来实现的。
条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作,从而改变代码的执行顺序,实现更多的功能。
test条件测试
格式两种:
test 操作符 条件表达式
[ 操作符 表达式 ] ##括号中一定要有空格
常用的操作符
-d测试文件是否为目录文件(Directory)
-f测试文件是否为普通文件(File)
-e测试目录或文件是否存在(Exist)。建议使用-e,-a可能不准确。
-a测试目录或文件是否存在(Exist)
-r测试当前用户是否有权限读取(Read)
-w测试当前用户是否有权限写入(Write)
-x测试当前用户是否有权限执行(eXcute)
-L测试是否为符号链接(软链接文件)
整数值测试
格式两种:
[ 整数变量1 操作符 整数变量 ] ##注意空格
test 整数变量1 操作符 整数变量2
操作符:
| 操作符 | 含义 |
|---|---|
| -eq | 等于(Equal) |
| -ne | 不等于(Not Equal) |
| -gt | 大于(Greater Than) |
| -lt | 小于(Lesser Than) |
| -le | 小于或等于(Lesser or Equal) |
| -ge | 大于或等于(Greater or Equal) |
字符串测试
- =:字符串内容相同
- !=:字符串内容不同,! 号表示相反的意思
- -z:字符串内容为空
- -n:字符是否存在
逻辑测试
格式两种:
[ 表达式1 ] 运算符 [ 表达式2 ] ##注意不要忘记空格
[ 表达式1 运算符 表达式2 ]
逻辑运算符:
- -a或&& :逻辑与,“而且”的意思,全真才为真。
- -o或|| :逻辑或,“或者”的意思,一真即为真。
- ! :逻辑否。
三元运算符
格式
[ 表达式 ] && a || b ## 当表达式真时 ,取a ,为假,取b
小案例 查看指定主机是否在线
if语句
if单分支
格式:
if 判断条件
then 条件成立的分支代码
fi
小案例,硬盘空间是否大于10%,如果超过则报警
if双分支结构
格式 :
if 判断条件
then
条件成立的分支代码
else
条件不成立的分支代码
fi
小案例 :检查80端口是否在监听
if多分支结构
格式:
小案例:根据输入时间不同来显示出不同提示语:
case语句
格式:
case 变量引用 in
模式1)
命令分支1
;;
模式2)
命令分支2
;;
。。。
*)
默认命令分支
esac
小案例:查询成绩系统