按照文件类型进行判断
标红,记住;其他了解即可
测试选项 | 作用 |
-b 文件 | 判断该文件是否存在,并且是否为块设备文件(是块设备文件为真) |
-c 文件 | 判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真) |
-d 文件 | 判断该文件是否存在,并且是否为目录文件(是目录为真) |
-e 文件 | 判断该文件是否存在(存在为真) |
-f 文件 | 判断该文件是否存在,并且是否为普通文件(是普通文件为真) |
-L 文件 | 判断该文件是否存在,并且是否为符号链接文件(是符号链接文件为真) |
-p 文件 | 判断该文件是否存在,并且是否为管道文件(是管道文件为真) |
-s 文件 | 判断该文件是否存在,并且是否为非空(非空为真) |
-S 文件 | 判断该文件是否存在,并且是否为套接字文件(是套接字文件为真) |
判断格式
- test [选项] [文件]
- #或
- [ 选项 文件 ]
- ????中括号里面,选项前有空格,文件后有空格
例子
- test -e canshu1.sh
- echo $?
- ????没有输出信息,因此使用预定义变量$?,从而判断上一条命令执行正确与否
- test -e canshu1.sh && echo True || echo False
- #执行正确打印True,错误打印False
- test -e canshu1.sh || echo Fasle && echo True
- #||或在前,与在后,这样的判断是不生效的,因为&&的都是会执行的,所以True永远会执行
- [ -e canshu1.sh ] && echo True || echo False
- #[空格+选项+空格+文件+空格]