zl程序教程

您现在的位置是:首页 >  .Net

当前栏目

Shell系列(24)- 条件判断之文件类型

2023-02-18 16:27:25 时间

按照文件类型进行判断

标红,记住;其他了解即可

测试选项 作用
-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
  • #[空格+选项+空格+文件+空格]