表达式
基础知识
简介: 所谓的表达式,就是在场景需求的前提下,判断数据和运算符的操作是否满足需求。
语法格式:
格式
真实值 操作符 真实值 比较运算符 预期值
示例
3 + 4 > 6
要点:
表达式应该具有判断的功能
测试表达式
简介: Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0,表示成功,值为其他时,表示失败。
使用专门的测试工具---test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值0为成立)
测试表达式
样式1: test 条件表达式
样式2: [ 条件表达式 ]
注意:
以上两种方法的作用完全一样,后者为常用。
但后者需要注意方括号[、]与条件表达式之间至少有一个空格。
test跟 [] 的意思一样
条件成立,状态返回值是0
条件不成立,状态返回值是1
逻辑表达式
基础知识
简介: 逻辑表达式一般用于判断多个条件之间的依赖关系。
常见的逻辑表达式有:&& 和 ||,根据观察的角度不同含义也不同
语法解读
&& 示例:命令1 && 命令2 如果命令1执行成功,那么我才执行命令2 -- 夫唱妇随 如果命令1执行失败,那么命令2也不执行
|| 示例:命令1 || 命令2 如果命令1执行成功,那么命令2不执行 -- 对着干 如果命令1执行失败,那么命令2执行
! 示例:! 命令 如果命令执行成功,则整体取反状态
组合使用
使用样式: 命令1 && 命令2 || 命令3 方便理解的样式 ( 命令1 && 命令2 ) || 命令3 功能解读: 命令1执行成功的情况下,执行命令2 命令2执行失败的情况下,执行命令3 注意: && 必须放到前面,|| 放到后面
字符串表达式
基础知识
简介: 所谓的字符串表达式,主要是判断 比较运算符 两侧的值的内容是否一致,由于bash属于弱类型语言,所以,默认情况下,无论数字和字符,都会可以被当成字符串进行判断。
符号解读
内容比较判断
str1 == str2 str1和str2字符串内容一致
str1 != str2 str1和str2字符串内容不一致,!表示相反的意思
内容空值判断
-z str 空值判断,获取字符串长度,长度为0,返回True
-n "str" 非空值判断,获取字符串长度,长度不为0,返回True
注意:str外侧必须携带"",否则无法判断
文件表达式
基础知识
简介:所谓的文件表达式,主要是判断文件相关的权限和属性信息的。
表达式解读
文件属性判断
-d 检查文件是否存在且为目录文件
-f 检查文件是否存在且为普通文件
-S 检查文件是否存在且为socket文件
-L 检查文件是否存在且为链接文件
-O 检查文件是否存在并且被当前用户拥有
-G 检查文件是否存在并且默认组为当前用户组
文件权限判断
-r 检查文件是否存在且可读
-w 检查文件是否存在且可写
-x 检查文件是否存在且可执行
文件存在判断
-e 检查文件是否存在
-s 检查文件是否存在且不为空
文件新旧判断
file1 -nt file2 检查file1是否比file2新
file1 -ot file2 检查file1是否比file2旧
file1 -ef file2 检查file1是否与file2是同一个文件,判定依据的是i节点