Linux学习 - 条件判断
一、判断格式
test -e /root/install.log
或
[ -e /root/install.log ]
使用echo $?查看是否正确,当返回0时表示返回正确
1 按照文件类型进行判断
测试选项 | 作用 |
-b 文件 | 判断文件是否为块设备文件并且存在 |
-c 文件 | 判断文件是否为字符设备文件并且存在 |
-d 文件 | 判断文件是否为目录类型并且存在 |
-e 文件 | 判断文件是否为文件类型并且存在 |
-f 文件 | 判断文件是否为普通文件并且存在 |
-L 文件 | 判断文件是否为符号链接文件并且存在 |
-p 文件 | 判断文件是否为管道文件并且存在 |
-s 文件 | 判断文件是否非空 |
-S 文件 | 判断文件是否为套接字文件并且存在 |
例:
[ -d /root] && echo "yes" || echo "no"
2 按照文件权限进行判断
测试选项 | 作用 |
-r 文件 | 判断文件是否有读权限 |
-w 文件 | 判断文件是否有写权限 |
-x 文件 | 判断文件是否有执行权限 |
-u 文件 | 判断文件是否有SUID权限 |
-g 文件 | 判断文件是否有SGID权限 |
-k 文件 | 判断文件是否有SBit权限 |
3 两个文件之间判断
测试选项 | 作用 |
文件1 -nt 文件2 | 判断文件1的修改时间是否比文件2的新 |
文件1 -ot 文件2 | 判断文件1的修改时间是否比文件2的旧 |
文件1 -ef 文件2 | 判断文件1是否和文件2的Inode号一致 |
4 两个整数之间比较
测试选项 | 作用 |
整数1 -eq 整数2 | 判断 = |
整数1 -ne 整数2 | 判断 != |
整数1 -gt 整数2 | 判断 > |
整数1 -lt 整数2 | 判断 < |
整数1 -ge 整数2 | 判断 >= |
整数1 -le 整数2 | 判断 <= |
5 字符串判断
测试选项 | 作用 |
-z 字符串 | 判断字符串是否为空 |
-n 字符串 | 判断字符串是否为非空 |
字符串1 == 字符串2 | 判断字符串1是否和字符串2相等 |
字符串1 != 字符串2 | 判断字符串1是否和字符串2不相等 |
6 多重条件判断
测试选项 | 作用 |
判断1 -a 判断2 | 逻辑与 |
判断1 -o 判断2 | 逻辑或 |
! 判断 | 逻辑非 |
Linux学习 - 条件判断的更多相关文章
- LINUX SHELL条件判断
算术运算的条件判断 [] [[]]: -eq -ne -lt -le -gt -ge (( )):><>=<== [root@monitor ~]# if (( 2 == 3) ...
- 【Linux】条件判断eq、ne、gt、lt、ge、le
整数比较: -eq(equal) 相等 -ne(inequality) 不相等 -gt(greater than) 大于 -lt(less than) 小于 -ge(greater equal) 大于 ...
- linux shell 条件判断if else, if elif else....
在linux的shell中 if 语句通过关系运算符判断表达式的真假来决定执行哪个分支.Shell 有三种 if ... else 语句: if ... fi 语句: if ... else ... ...
- Linux学习-善用判断式
利用 test 指令的测试功能 要检测系统上面某些文件或者是相关的属性时,利用 test 这个指令来工作真是好用得不 得了, 举例来说,我要检查 /dmtsai 是否存在时,使用: [dmtsai@s ...
- linux之条件判断
一.文件类型比较 判断一个文件是否存在(注意:中括号表示判断,其两边必须有空格) 二.文件权限判断 判断是否有可执行权限(这里是不区分用户的,只要该文件能执行就返回0) 3.整数比较 判断两个数是否相 ...
- Linux学习---条件预处理的应用
预处理的使用: ⑴包含头文件 #include ⑵宏定义 #define 替换,不进行语法检查 ①常量宏定义:#define 宏名 (宏体) (加括号为防止不进行语法检查而出现的错误) eg:# ...
- Linux学习之第十九、条件判断
原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts_4.php 条件判断式 只要讲到『程序』的话,那么条件判断式,亦即 ...
- Linux学习 -- Shell编程 -- 条件判断
按照文件类型进行判断 两种格式 test -e /root/install.log [ -e /root/install.log ] 注意空格 适合用于脚本中 echo $?可以看到结果 [ - ...
- 《鸟哥的Linux私房菜》学习笔记(9)——条件判断
一.条件判断表达式 条件测试类型: 整数测试 字符测试 文件测试 条件测试的表达式 [ ...
随机推荐
- Android现有工程使用Compose
Android现有工程使用Compose 看了Compose的示例工程后,我们也想使用Compose.基于目前情况,在现有工程基础上添加Compose功能. 引入Compose 首先我们安装 Andr ...
- 记一次 Java 导出大批量 Excel 优化
常用的excel导出方案,详情见Spring Boot 入门(十二):报表导出,对比poi.jxl和esayExcel的效率,其中jxl.esayEscel 底层都是基于 poi,它们仅仅是对 poi ...
- k8s入坑之路(10)kubernetes coredns详解
概述 作为服务发现机制的基本功能,在集群内需要能够通过服务名对服务进行访问,那么就需要一个集群范围内的DNS服务来完成从服务名到ClusterIP的解析. DNS服务在kubernetes中经历了三个 ...
- SpringBoot中使用@ConfigurationProperties提示:Configuration Annotation Processor not found in classpath
问题 Springboot1.5以上版本,在使用 @ConfigurationProperties注解的时候会提示Spring Boot Configuration Annotation Proces ...
- KMP算法,看这篇就够了!
普通的模式匹配算法(BF算法) 子串的定位操作通常称为模式匹配算法 假设有一个需求,需要我们从串"a b a b c a b c a c b a b"中,寻找内容为"a ...
- 全面的Docker快速入门教程
前言: 都2021年了,你还在为了安装一个开发或者部署环境.软件而花费半天的时间吗?你还在解决开发环境能够正常访问,而发布测试环境无法正常访问的问题吗?你还在为持续集成和持续交付(CI / CD)工作 ...
- python读写文件with open
简介 使用python的过程中肯定少不了读取文件的操作, 传统的形式是使用 直接打开.然后在操作.然后再关闭, 这样代码量稍微大些不说,一旦在操作步骤中出现报错,则无法进行文件的关闭: 案例一(读取) ...
- 重写(Override)与重载(Overload)区别
重写是子类对父类的允许访问的方法的实现过程进行重新编写. 方法重写三要素: (1)方法名形参列表相同: (2)返回值类型和声明异常类型子类小于父类: (3)访问权限,子类大于等于父类. 重写的好处在于 ...
- [bzoj4094]Optimal Milking
建立线段树,维护区间左端点选/不选,右端点选/不选且不含有相邻两个同时选的最大值,合并时注意细节即可 1 #include<bits/stdc++.h> 2 using namespace ...
- redis序列化和反序列化的操作-(以前咋操作我都忘记了)
//拿到数据,redis如果有则将现在有的传进去,如果没有则获取接口 ExWritPropertyVo ExWritPropertyVo = new ExWritPropertyVo(); ExWri ...