目录
(1)case行首必须以单词“in”,每一模式必须以单个右括号")"结束
(3)模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以使用竖杠|表示或,比如a|b
一、条件测试
1.test命令
测试表达式是否成立,若成立返回0,否则返回其他数值
格式1:test 条件表达式
格式2:【 条件表达式 】(条件表达式前后至少应该有一个空格)
2.文件测试
(1)文件测试的基本格式
[ 操作符 文件或目录 ] (注意两端要有空格)
条件表达式 | 含义 |
---|---|
&? | 返回0表示条件成立,返回非零值表示条件不成立 |
&& | 逻辑与,"而且"的意思 |
| | | 逻辑或,"或者"的意思 |
(2)常见的测试操作符
常见的测试操作符 | 含义 |
---|---|
-d | 测试是否为目录(directory) |
-e | 测试目录或文件是否存在(Exist) |
-f | 测试是否为文件(File) |
-r | 测试当前用户是否有权限读取(Read) |
-w | 测试当前用户是否有权限写入(Write) |
-x | 测试当前用户是否有权限执行(eXcute) |
-a | 测试文件是否存在 |
3.字符串比较
(1)常用的测试操作符
(2)格式
[ 字符串1 = 字符串2 ] 是否相同
[ 字符串1 != 字符串2 ] 是否不相同
[ -z 字符串 ] 是否为空
[ -n 字符串 ] 字符是否存在
4.整数测试
(1) 整数值比较
格式:【整数1 操作数 整数2】
常用的测试操作符
操作符 | 含义 |
---|---|
-eq | 等于(Equal) |
-ne | 不等于(Not Equal) |
-lt | 小于(Leser Than) |
-gt | 大于(Greater Than) |
-le | 小于或等于(Lesser or Equal) |
-ge | 大于或等于(Greater or Equal) |
二、if 语句
1、if单分支语句
if 条件测试操作 if 已用磁盘>80%
then 命令序列 👉 then 报警
fi (结束) fi
2.if多分支语句
运行结果
三、case语句
1.需要注意的点
(1)case行首必须以单词“in”,每一模式必须以单个右括号")"结束
(2)双分号";;"表示命令序列的结束
(3)模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以使用竖杠|表示或,比如a|b
(4)最后的*)表示默认模式,其中的*相当于通配符
vim sdjdb.sh
输出结果:
四、 总结
今天主要讲了shell脚本中的条件语句,if语句以及case语句,希望能够对大家有所帮助!