1 测试命令
测试文件或值
1.1 语法结构
test 条件表达式
[ 条件表达式 ]
[[ 条件表达式 ]]
特别说明:
- [ 亲亲,我两边都有空格,不空打死你哟 ] 😠
- [[ 亲亲,我两边都有空格,不空打死你哟 ]] 😠
1.2 判断参数
- 文件测试:
判断参数 | 含义 |
---|---|
-e | 判断文件是否存在(任何类型文件) |
-f | 判断文件是否存在并且是一个普通文件 |
-d | 判断文件是否存在并且是一个目录 |
-L | 判断文件是否存在并且是一个软链接文件 |
-b | 判断文件是否存在并且是一个块设备文件 |
-S | 判断文件是否存在并且是一个套接字文件 |
-c | 判断文件是否存在并且是一个字符设备文件 |
-p | 判断文件是否存在并且是一个命名管道文件 |
-s | 判断文件是否存在并且是一个非空文件(有内容) |
- 权限测试:
判断参数 | 含义 |
---|---|
-r | 当前用户对其是否可读 |
-w | 当前用户对其是否可写 |
-x | 当前用户对其是否可执行 |
-u | 是否有suid,高级权限冒险位 |
-g | 是否有sgid,高级权限强制位 |
-k | 是否有t位,高级权限粘滞位 |
- 数值测试:
判断参数 | 含义 |
---|---|
-eq | equal,相等 |
-ne | no equql,不等 |
-gt | greater than,大于 |
-lt | less than,小于 |
-ge | greater than or equal,大于等于 |
-le | less than or equal,小于等于 |
- 判断字符串
判断参数 | 含义 |
---|---|
-z | 判断是否位空字符串,字符串长度为0则成立 |