目录
一.条件测试
1.test格式
test命令
测试表达式是否成立,若成立返回0.否则返回其他数值
格式1:test 条件表达式
格式2:[ 条件表达式 ] (条件表达式的两边都需要有空格,且此方法更为常用)
2.文件测试
1.常见的测试操作符
常见的测试操作符 | 含义 |
---|---|
-d | 测试是否为目录(directory) |
-e | 测试目录或文件是否存在(Exist) |
-a | 测试目录或文件是否存在(Exist) |
-f | 测试是否为文件(File) |
-r | 测试当前用户是否有权限读取(Read) |
-w | 测试当前用户是否有权限写入(Write) |
-x | 测试当前用户是否有权限执行(eXcute) |
-L | 测试是否为软连接文件 |
2.条件表示式
条件表达式 | 含义 |
---|---|
&? | 返回0表示条件成立,返回非零值表示条件不成立 |
&& | 逻辑与,"而且"的意思 |
|| | 逻辑或,"或者"的意思 |
3.整数测试
1.整数值比较
格式: [ 整数1 操作数 整数2 ]
操作符 | 含义 |
---|---|
-eq | 等于(Equal) |
-ne | 不等于(Not Equal) |
-lt | 小于(Leser Than) |
-gt | 大于(Greater Than) |
-le | 小于或等于(Lesser or Equal) |
-ge | 大于或等于(Greater or Equal) |
2.字符串比较
格式1 [ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
格式2 [ -z 字符串 ]
操作符 | 含义 |
---|---|
= | 字符串内容相同 |
!= | 字符串内容不同,!号表示相反的意思 |
-z | 字符串内容为空 |
-n | 字符是否存在 |
3.逻辑测试
格式1:〔表达式1 〕操作符〔表达式2 ]...
格式2:命令1操作符命令2...
二.if语句
1.if单分支语句
if 条件测试操作
then 命令序列
fi
2.if双分支语句
if 条件测试操作
then 命令序列
else 命令序列
fi
3.if多分支语句
if 条件测试操作
then 命令序列
elif 条件测试操作
then 命令序列
else 命令序列
fi
[root@localhost ~]# vim grade.sh
三.case分支语句
- case行首必须以单词“in”,每一模式必须以单个右括号")"结束
- 双分号";;"表示命令序列的结束
- 模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以使用竖杠|表示或,比如a|b
- 最后的*)表示默认模式,其中的*相当于通配符
case 变量引用 in
模式1)
命令序列
;;
模式2)
命令序列
;;
*)
默认命令序列
esac
[root@localhost ~]# vim case.sh