运维实施43-SHELL编程

表达式

基础知识

简介:    所谓的表达式,就是在场景需求的前提下,判断数据和运算符的操作是否满足需求。    

语法格式:

格式
	真实值 操作符 真实值 比较运算符 预期值
示例
	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节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值