博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Linux_Shell 脚本编程学习笔记一、条件表达式】
阅读量:4949 次
发布时间:2019-06-11

本文共 1285 字,大约阅读时间需要 4 分钟。

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

  真为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;}

      

 

    

 

转载于:https://www.cnblogs.com/kangxinxin/p/11142138.html

你可能感兴趣的文章
2:4 动态方法的调用(简化Action的配置)
查看>>
【算法】快速幂运算
查看>>
用 SDL2 显示一张图片
查看>>
一种新的人才流动形式
查看>>
HTTP基础04--web服务器
查看>>
DOM--4 响应用户操作和事件(2)
查看>>
ubuntu16.04下无线网卡无法正常连网
查看>>
linux下去掉pdf的密码(前提:知道密码)
查看>>
Aspose.word在asp.net mvc中如何使用的个人总结
查看>>
JS运行机制
查看>>
nohup 部署springboot 使用命令
查看>>
微信小程序开发之页面数据绑定
查看>>
SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
查看>>
【笔记】实现一个简易的Promise
查看>>
SQL语法--DQL
查看>>
Sublime Text 3安装Latex
查看>>
笔谈kxmovie开源播放器库的使用
查看>>
SQLSERVER Truncate使用注意事项
查看>>
MACOS配置VIM成简单IDE傻瓜式操作
查看>>
第11月第31天 keyboardwillshow CGAffineTransformMakeTranslation
查看>>