按照文件类型进行判断
标红,记住;其他了解即可
测试选项
作用
-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
#[空格+选项+空格+文件+空格]