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

Shell系列(24)- 条件判断之文件类型的更多相关文章
- Shell脚本IF条件判断和判断条件总结
转自:http://m.jb51.net/article/56553.htm 这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结 ...
- Shell学习(六)——条件判断总结
Shell学习(六)--条件判断总结 [1]https://www.cnblogs.com/zhw-626/p/8528001.html [2]https://www.cnblogs.com/yizh ...
- Shell 筛选符合条件的 ELF 文件
0 运行环境 本机系统:Windows 10 虚拟机软件:Oracle VM VirtualBox 6 虚拟机系统:Ubuntu 18 1 引言 - 编译过程 我们知道在 CPU 上执行的是低级别的机 ...
- Shell系列(25)- 条件判断之文件权限
按照文件权限进行判断 读.写.执行等选项权限,只要有,就返回真 不会按照所属者,所属用户组,其他用户进行区分 先判断文件是否存在,再去判断选项权限 测试选项 作用(标红熟记) -r 文件 判断该文件是 ...
- Shell学习笔记 - 条件判断式
1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ] -- 推荐使用 例: [ -e /root/install.log ] ...
- shell编程2 ---条件判断语句
shell编程2 一.条件判断语句 1.按照文件类型进行判断 eg:test -e /etc/passwd 或者 [ -e /etc/passwd ] &&echo yes || ...
- linux shell中的条件判断语句
http://bbs.chinaunix.net/thread-396805-1-1.html shell 判断语句 流程控制 "if" 表达式 如果条件为真则执行then后面的部 ...
- wordpress 函数、条件判断以及文件的总结
WordPress基本模板文件 一套完整的WordPress模板应至少具有如下文件: style.css : CSS(样式表)文件 index.php : 主页模板 archive.php : Arc ...
- shell中的条件判断以及与python中的对比
shell中比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格. if ....; then ...
随机推荐
- 安全工具推荐之sqlmap tamper&sqlmap api
我发现总有一些人喜欢问sqlmap的tamper脚本,问完工具问参数,问完参数问脚本...... 你这个问题问的水平就很艺术,让我一时不知从何说起...... 说一下在sqlmap的使用过程中,个人了 ...
- 使用Postfix与Dovecot收发电子邮件(物理机虚拟机之间)
邮件应用协议包括: 简单邮件传输协议(SMTP),用来发送或中转发出的电子邮件,占用tcp 25端口. 第三版邮局协议(POP3),用于将服务器上把邮件存储到本地主机,占用tcp 110端口. 第四版 ...
- STM32—TIMx输出PWM信号驱动MG996R舵机
文章目录 一.前言 二.MG996R舵机简介 三.TIM定时器简介 四.通用定时器TIMx 1.TIMx主要功能 2.TIMx框图 3.计数单元 4.时钟选择 5.输出比较PWM 五.TIM3输出双路 ...
- javaWeb之Maven
为什么要学这个技术? 在JavaWeb开发中,需要使用大量的jar包 如何能够让一个工具自动帮我们导入和配置这个jar包 一.Maven项目架构管理工具 核心思想:约定大于配置 有约束,不要去违反 M ...
- 能说会道爱办公——“别人家的”Chrome插件到底怎么做
根据相关数据显示,谷歌的Chrome浏览器目前已达近七成的市场占有率,成为浏览器的"霸主".大家选择Chrome,除了是因为性能的优越以及强大的兼容性之外,Chrome充足的扩展插 ...
- Java之Spring基础与IoC
Spring About Spring 开源免费框架,轻量级,非入侵式框架.Spring就是一个轻量级的控制反转(IOC)和面向切片编程(AOP)的框架 Maven repo:Spring Web M ...
- docker部署Redis6-0-6
下载redis.conf配置 下载地址: http://download.redis.io/redis-stable/redis.conf 拉取docker镜像 docker pull redis:6 ...
- DLL-使用DLL
动态链接库的使用 fangyukuan 2010.6.21 应用程序可以调用的DLL函数,在DLL中叫做导出函数,而在应用程序中叫做导入函数.应用程序中的导入函数与DLL文件中的导出函数进行链接有两种 ...
- C++ 各种构造函数
c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初 ...
- mysql基础操作(三):数据约束
首先创建一个数据库 create database homework default character set utf8; use homework; 1.1 默认值约束(default) -- 数 ...