一、条件测试
1.1 文件测试和整数测试
文件测试
test命令
测试表达是是否成立,若成立则返回0,否则返回其他的数
用法一:test 条件表达式
用法二:[ 条件表达式 ]
选项 | 含义 |
---|---|
-e | 测试目录或者文件是否存在 |
-d | 测试是否为目录 |
-f | 测试是否为文件 |
-r | 测试当前用户是否有读的权限 |
-w | 测试当前用户是否有写的权限 |
-x | 测试当前用户是否有执行的权限 |
整数值比较
格式:[ 整数1 操作符 整数2 ]
在shell脚本中,以下的比较运算符只能用于比较整数
常用的测试操作符:
选项 | 含义 |
---|---|
-eq | 等于 |
-ne | 不等于 |
-gt | 大于 |
-lt | 小于 |
-ge | 大于等于 |
-le | 小于等于 |
1.2字符串测试和逻辑测试
字符串测试:
相较于上面的比较大小也可以使用接下来的符号来比较非整数的大小
操作符 | 含义 |
---|---|
“==” | 等于 |
“!=” | 不等于 |
“>” | 大于 |
“<” | 小于 |
“>=” | 大于或等于 |
“<=” | 小于或等于 |
逻辑测试
常用的测试操作符:
-a或&&: 逻辑与,“而且”的意思
-o或||: 逻辑或,“或者”的意思
!:逻辑否,”否定或取反“的意思
&& 的两边的结果都要是1才能正确的运行
||的两边只要有一个是1就可以正常的运行
二、if语句
2.1if单分支语句
我想要查看opt目录下是否有abc.txt的文件,用单分支语句来完成
2.2if双分支语句
我想要查询一个数是否是整数,用双分支结构来表示
2.3if多分支语句
现在做一个能记录跑步时时间,并且对男生和女生进行分组
三、case语句
通过case来实现对防火墙状态的改变