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)——条件判断
一.条件判断表达式 条件测试类型: 整数测试 字符测试 文件测试 条件测试的表达式 [ ...
随机推荐
- 禁用root直接远程登录,使用普通账号登录后再切换root
1.创建一个普通用户 #useradd test 2.给test设置密码 #passwd test 3.禁用root远程登录 #vim /etc/ssh/sshd_config #PermitRoot ...
- Netfilter和iptables介绍
前言 在开始Kubernetes的网络之前我们先来学习Netfilter,Netfilter可能了解的人比较少,但是iptables用过 Linux的都应该知道.本文主要介绍Netfilter与ipt ...
- pip 更新方法
使用python -m pip install --upgrade pip 使用python -m pip install -U --force-reinstall pip 使用pip install ...
- FastApi下载文件
FastApi下载文件 记得之前我们讲过生成excel文件的事情,那么如何把服务器生成的excel文件正确发送给用户呢? 今天我们就来说说在FastApi中如何正确让用户下载到想要的文件. 基本流程 ...
- redis如何解决key冲突?
1.业务隔离 不同的业务使用不同的redis集群,或者协议使用redis的不同db. 2.良好的Redis Key的设计 格式:业务标识:系统名称:模块名称:关键词简写 比如:保险:用户管理:用户申请 ...
- JDK的第三个LTS版本JDK17来了
目录 简介 JDK17中的新特性 语言上的新特性 核心库的优化 支持新的平台 预览特性 其他改动 总结 简介 2021年9月JDK17发布了,JDK17是最新的一个LTS版本.所谓LTS版本就是可以得 ...
- 用户案例 | 腾讯小视频&转码平台云原生容器化之路
作者 李汇波,腾讯业务运维高级工程师,目前就职于TEG 云架构平台部 技术运营与质量中心,现负责微信.QQ社交类业务的视频转码运维. 摘要 随着短视频兴起和快速发展,对于视频转码处理的需求也越来越多. ...
- C#练习4
//错误的程序using System; class Test { unsafe static void WriteLocations(byte[]arr) { fixed(byte*p_arr=ar ...
- [atARC124F]Chance Meeting
为了方便,不妨先将$n$和$m$都减小1,其意义即为移动的次数 注意到老鼠向下移动和猫向上移动对于第2个条件是等价的,对于第1个条件即要求都恰好移动$n$次,那么对应的方案数即为${2n\choose ...
- [noi37]列队
直接统计答案,令dp[i][j]表示前i个数最长的颜色各不相同后缀长度为j的方案数,如果一直令j<m,那么就相当于统计了方案数. 如何推出dp[i][j]呢?考虑i-1的最长前缀是多少:当小于j ...