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)——条件判断
一.条件判断表达式 条件测试类型: 整数测试 字符测试 文件测试 条件测试的表达式 [ ...
随机推荐
- sed 替换命令使用
输入文件不会被修改,sed 只在模式空间中执行替换命令,然后输出模式空间的内容.文本文件 employee.txt 101,John Doe,CEO 102,Jason Smith,IT Manage ...
- 启用MFA的office 365 账号如何连接Exchange online
第一篇随手笔记,从简单开始... 如何使用Exchange Online PowerShell呢? 以Windows操作系统为例,如Windows10:首先需要安装Exchange Online Po ...
- IP数据报中如果不分片,分片标志值是什么?
过了好久才解决这个简单的问题,罪过罪过- 答案:如果IP数据报不分片,分片标志DF(Don't Fragment)会被设置为1.分片标志MF(More Fragment)设置为0. 下面是详细解释: ...
- JMeter学习笔记--录制脚本(一)
---------------------------------------------------------------------------------------------------- ...
- 模块化开发 | es6模块暴露与引入
CommonJS模块开发 CommonJS定义 每个文件就一个模块,有自己的作用域.在一个文件里面定义的变量.函数.类,都是私有的,对其他文件不可见. 私有作用域不会污染全局作用域. 模块可加载多次, ...
- 【SVG】为了前端页面的美丽,我选择学习SVG
[SVG]为了前端页面的美丽,我选择学习SVG 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 SVG在之前自学的过程中, ...
- go的常用数据类型-持续优化篇
p.p1 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(69, 69, 69, 1) } p.p2 { margin: ...
- FZU ICPC 2020 寒假训练 6 —— 字符串处理
P1603 斯诺登的密码 题目描述 2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混迹于一架开往委内瑞拉的飞机.但是,这件事情太不周密了,因为FBI的间谍早已获悉他的具体位置--但这不是最重要的 ...
- 问题 D: 某种序列
题目描述 数列A满足An = An-1 + An-2 + An-3, n >= 3 编写程序,给定A0, A1 和 A2, 计算A99 输入 输入包含多行数据 每行数据包含3个整数A0, A ...
- Handler处理器&&使用代理服务器urllib.request.ProxyHandler
urllib.request.urlopen(url) 不能定制请求头 urllib.request.Request(url,headers,data) 可以定制请求头 Handler 定制更高级的 ...