• 【shell】条件测试



    通常,在bash的各种条件结构和流程控制结构中都要进行各种测试,然后根据测试结果执行不同的操作。执行条件测试通常会返回"真"或"假",类似执行命令,返回0是真,返回非0是假。

    1.条件测试常用的方法

    条件测试语法 说明
    语法1:test <测试表达式> 利用test命令进行条,test后有一个空格
    语法2:[ <测试表达式> ] 通过单中括号进行,单中括号中的内容前后都有一个空格
    语法3:[[ <测试表达式> ]] 通过双中括号进行,双中括号中的内容前后都有一个空格
    语法4:((<测试表达式>)) 通过双小括号进行,双小括号中的内容前后无空格

    特别说明:

    注意:推荐使用语法2
    &&、||、>、<等操作符可以应用于[[]]中,但是在[]是不能使用,在[]中一般用-a、-o、-gt等替代

    2.test条件测试的简单语句和实例

    语法:test <测试表达式>

    案例一:test命令

    [qinys@localhost 20200313]$ test -f a.txt && echo true || echo false
    false
    

    语句中涉及的a.txt文件是不存在的,所以输出false,此处条件为真,则执行&&后的语句,条件为假,则执行||后的语句
    上述逻辑是一个联合逻辑,也可以将上述逻辑拆分开,拆分如下:

    [qinys@localhost 20200313]$ test -f a.txt && echo true
    [qinys@localhost 20200313]$ test -f a.txt || echo false
    false
    
    

    案例二:test命令中使用-z选项
    -z选项表示:如果测试字符串的长度为0,则表达式成立

    [qinys@localhost 20200313]$ test -z "" && echo 1 || echo 0
    1
    [qinys@localhost 20200313]$ test -z "abc" && echo 1 || echo 0
    0
    

    3.[]条件测试语法及实例

    语法:[ <测试表达式> ]

    中括号内部的两端要有空格,[]与test等价,即test的所有判断选项都可以直接在[]里使用

    以下是演示案例:使用[]实现条件测试

    [qinys@localhost 20200313]$ [ -f a.txt ] && echo true || echo false
    false
    

    此处的条件测试同样可以拆分,拆分后为:

    [qinys@localhost 20200313]$ [ -f a.txt ] && echo true 
    [qinys@localhost 20200313]$ [ -f a.txt ] || echo false
    false
    

    4.[[]]条件测试语法及实例

    语法:[[ <测试表达式> ]]

    以下是演示案例:使用[[]]实现条件测试

    [qinys@localhost 20200313]$ [[ -f a.txt ]] && echo true || echo false
    false
    

    此处的条件测试同样可以拆分,拆分后为:

    [qinys@localhost 20200313]$ [[ -f a.txt ]] && echo true 
    [qinys@localhost 20200313]$ [[ -f a.txt ]] || echo false
    false
    
  • 相关阅读:
    SQL Serever学习16——索引,触发器,数据库维护
    微信WeUI基础
    SQL Serever学习15——进阶
    SQL Serever学习14——存储过程和触发器
    微信WeUI入门2
    微信WeUI入门
    数据库—索引
    数据库—四种存储引擎
    视图
    事务
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12487609.html
Copyright © 2020-2023  润新知