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)——条件判断
一.条件判断表达式 条件测试类型: 整数测试 字符测试 文件测试 条件测试的表达式 [ ...
随机推荐
- python进阶(22)pydantic--数据类型校验
pydantic库的作用 pydantic库是一种常用的用于数据接口schema定义与检查的库. Pydantic 在运行时强制执行类型提示,并在数据无效时提供用户友好的错误信息. pydantic安 ...
- 史上最简单的排序算法?看起来却满是bug
大家好,我是雨乐. 今天在搜论文的时候,偶然发现一篇文章,名为<Is this the simplest (and most surprising) sorting algorithm ever ...
- thread pool
thread pool import concurrent.futures import urllib.request URLS = ['http://www.foxnews.com/', 'http ...
- GoLang设计模式14 - 状态模式
状态模式,顾名思义,是一种基于有限状态机制的设计模式.在这种设计模式中,行为是由相应的状态来决定的.接下来我们会用一个售卖机的例子来说明下状态模式.为了便于说明,我们把场景简化一下,假设有一台售卖机只 ...
- Java 中的关键字
Java 中有多少个关键字,有大小写之分吗? Java 中有 48 个关键字在使用 + 两个保留关键字未使用,共 50 个关键字. Java 关键字全部都由是小写组成. Java 中保留关键字分别是哪 ...
- 菜鸡的Java笔记 第十七 static 关键字
static 是java中定义的一个关键字,主要是描述全局的概念,所以利用static关键字可以定义属性,定义方法 但是在90%的情况下,我们的开发代码很少会去直接编写static*// ...
- vue项目在打包时,去掉所有的console.log输出
npm i babel-plugin-transform-remove-console -S const proPlugins = [];// 开发环境 不做操作 // 生产环境,去掉console ...
- [cf1305G]Kuroni and Antihype
对整个过程构造一张有向图,其中$(x,y)\in E$当且仅当$x$把$y$加入,且边权为$a_{x}$ 显然这是一棵外向树森林,并再做如下两个构造: 1.新建一个点$a_{0}=0$,将其向所有入度 ...
- 【TcaplusDB知识库】如何部署TcaplusDB Local 版
[TcaplusDB知识库]部署TcaplusDB Local 版的准备操作 1. 版本介绍 TcaplusDB Local版,是为用户提供的一个满足本地开发调试的版本(基于Docker部署的可下载版 ...
- AtCoder Beginner Contest 200
前言:果然自己连\(ABC\)都打不好了吗. 没看清题目,卡了巨久,排名一直跌,笔记本键盘坏了,心态崩了. 冷静. ------------------------------------------ ...