Shell学习(六)——条件判断总结
Shell学习(六)——条件判断总结
[1]https://www.cnblogs.com/zhw-626/p/8528001.html
[2]https://www.cnblogs.com/yizhinantian/p/3540114.html
通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格
一、文件判断
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号一致
二、数值类型判断
1、两个整数之间比较
测试选项 作用
整数1 -eq 整数2 判断 =
整数1 -ne 整数2 判断 !=
整数1 -gt 整数2 判断 >
整数1 -lt 整数2 判断 <
整数1 -ge 整数2 判断 >=
整数1 -le 整数2 判断 <=
三、字符串类型判断
1、字符串判断
测试选项 作用
-z 字符串 判断字符串是否为空
-n 字符串 判断字符串是否为非空
字符串1 == 字符串2 判断字符串1是否和字符串2相等
字符串1 != 字符串2 判断字符串1是否和字符串2不相等
四、多重条件判断
测试选项 作用
判断1 -a 判断2 逻辑与
判断1 -o 判断2 逻辑或
! 判断 逻辑非
Shell学习(六)——条件判断总结的更多相关文章
- Shell学习笔记 - 条件判断式
1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ] -- 推荐使用 例: [ -e /root/install.log ] ...
- Shell脚本IF条件判断和判断条件总结
转自:http://m.jb51.net/article/56553.htm 这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结 ...
- Shell学习之条件测试(四)
Shell学习之条件测试 目录 逻辑测试 文件测试 数值比较 字符串比较 逻辑测试 格式: [ 表达式 ] 操作符 [ 表达式2 ] …… 命令1 操作符 命令2 …… 常用的操作符 ( 注意:-a和 ...
- shell中的条件判断以及与python中的对比
shell中比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格. if ....; then ...
- 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后面的部 ...
- python学习第六天 条件判断和循环
总归来讲,学过C语言的同学,对条件判断和循环并不陌生.这次随笔只是普及一下python的条件判断和循环对应的语法而已. 条件判断: 不多说,直接贴代码: age = 23 if age >= 6 ...
- Python学习之条件判断和循环
#coding= utf-8 # 条件判断和循环 # 如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做 age1 = 20 if age1 >= 18: prin ...
- python学习_条件判断语句_if
#条件判断语句(if)#语法:if条件表达式:语句# 代码块#执行流程:if语句在执行时,会先对条件表达式进行求值判断#如果为True,则执行if后面的语句#如果为False,则不执行#默认情况下,i ...
随机推荐
- Java实体映射工具MapStruct使用详解
1.序 通常在后端开发中经常不直接返回实体Entity类,经过处理转换返回前端,前端提交过来的对象也需要经过转换Entity实体才做存储:通常使用的BeanUtils.copyProperties方法 ...
- 开源的分布式事务框架 springcloud Alibaba Seata 的搭建使用 一次把坑踩完。。。
seata的使用 1. Seata 概述 Seata 是 Simple Extensible Autonomous Transaction Architecture 的简写,由 feascar 改名而 ...
- 一文读懂什么是渲染管线(7k字)
01 | 渲染基础 渲染(Render)定义 渲染在电脑绘图中是指软件从模型生成图像的过程,通俗讲就是在计算机里面给虚拟世界"拍照".渲染主要分为两种,一种是预渲染(pre-ren ...
- 如何保证redis中存放的都是热点数据
当redis使用的内存超过了设置的最大内存时,会触发redis的key淘汰机制,在redis 3.0中有6种淘汰策略: noeviction: 不删除策略.当达到最大内存限制时, 如果需要使用更多内存 ...
- CSS学习笔记:flex布局
目录 一.Flex布局简介 1. Flex布局的主要作用 2. Flex布局应用场景 二.Flex布局的使用 1. Flex布局的两种相关元素 2. 父项属性 2.1 flex- direction ...
- ubuntu更換清華軟件源
打开软件源的编辑sudo gedit /etc/apt/sources.list 软件源: Ubuntu--更改国内镜像源(阿里.网易.清华.中科大) 打開軟件源文件進行修改: 使用 sudo vim ...
- [cf1458D]Flip and Reverse
将$s$中的01分别变为$1,-1$,即得到一个序列$a_{i}$(设其长度为$n$,下标范围为$[1,n]$) 对$a_{i}$建立一张有向图,其点集合为$Z$,并对$\forall 0\le k& ...
- [bzoj3670]动物园
首先计算出s数组,s表示可以重复的前缀等于后缀的个数,显然有s[i]=s[next[i]]+1,因为有且仅有next的next满足这个条件. 然后直接暴力枚举所有next,直到它小于i的一半,这个时间 ...
- ICCV 2021口罩人物身份鉴别全球挑战赛冠军方案分享
1. 引言 10月11-17日,万众期待的国际计算机视觉大会 ICCV 2021 (International Conference on Computer Vision) 在线上如期举行,受到全球计 ...
- JDK源码阅读(7):ConcurrentHashMap类阅读笔记
ConcurrentHashMap public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implement ...