zoukankan      html  css  js  c++  java
  • 【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
    
  • 相关阅读:
    Python用户交互
    Python中的变量和常量
    Python的第一个程序:‘Hello World!’
    idea和pycharm激活方法
    Python环境准备(安装python解释器)
    Python简介
    编程与编程语言
    Linux下升级安装Python-3.6.2版本
    yum安装php5.5,php5.6和php7.0
    Postfix邮件黑名单和白名单
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12487609.html
Copyright © 2011-2022 走看看