• 【Linux_Shell 脚本编程学习笔记一、条件表达式】


    条件表达式返回的结果都为布尔型

      真为1,假为0

    条件测试的表达式

      [expression]

    比较符

      整数比较

      -eq:比较两个整数是否相等,$A -eq $B

      -ne:测试两个整数是否不等,不等则为真,等则为假

      -gt:大于为真,小于为假

      -lt:小于为真,大于为假

      -ge:大于或者等于

      -le:小于或者等于

      

      -e  File  测试文件是否存在

      -f  File  测试文件是否是普通文件

      -d  File 测试指定路径是否是目录

      -r  File 测试文件是否有写的权限

      -w  File 测试文件是否有写的权限

      -x  File测试文件是否有执行的权限

      -z:判断指定的变量是否存在值

      -n:测试字符是否为空 非空为真(0)

      -s:文件的大小非0时为真

      !:逻辑非

     双目:

      == 相等为真

      != 不等为真

      >  大于为真

      <  小于为真

      -a:逻辑与   都为真才为真

      -o:逻辑或  一个为真就为真

    test expression  

      expression为条件表达式

      if test  (表达式为真) 
      if test !表达式为假 
      test 表达式1 –a 表达式2                  两个表达式都为真 
      test 表达式1 –o 表达式2                 两个表达式有一个为真 

    摩根定律

      !(A  -a  B)= !A  -o  !B

      !(A  -o  B)= !A  -a  !B

    逻辑符

     &&:逻辑与,都为真则为真 

      如果第一个条件是真的,需要对第二个条件进行判断

      如果第一个条件是假的,不需要对第二个条件进行判断,结果已经确定为假。

     ||:逻辑或,一个为真则为真 

      当第一个条件为真的时候,不在去判断第二条件,因为第一个表达式已经决定了整个表达式为真

      只有当第一个表达式为假的时候才回去判断第二个表达式

    操作实例:

      创建两个文件,一个是普通文件类型,另一个是文件目录

         

      执行条件表达式   

         

      定义一个变量,将文件赋值给变量,然后通过条件表达式判断该文件是否存在 (补充: 使用变量的时候最好是加上双引号 " ")

        

      

      编辑脚本

        

      如果执行shell脚本时,后面跟着的参数的值  为 3  才能输出3个1,其他则不输出

        

      在修改脚本,将&& 连接符号改成 ||  

            

      执行脚本    当只有前面的条件不成立,后面的条件才执行

       

       下面图中的语句  [ -f /etc/host ] && { echo 1; echo 2; echo3 ;}         

          

      与之相等价的语句是

        if  [ 条件 ]

        then  

          执行的命令

          命令

        fi

        这条语句就是条件不成立时候执行的   [ -d /etc/hosts ] || { echo 1;echo 2;echo 3;}

          

        

  • 相关阅读:
    1065-两路合并
    1064-快速排序
    1063-冒泡排序
    1062-直接插入排序
    1061-简单选择排序
    1058-Tom and Jerry
    关于WinForm引用WPF窗体
    ref与out的区别
    看到他我一下子就悟了(续)---委托
    域名的a记录转过来他的公网ip
  • 原文地址:https://www.cnblogs.com/kangxinxin/p/11142138.html
Copyright © 2020-2023  润新知