• 条件测试语句的格式如下:
  • [ 条件表达式 ]        # 条件表达式两侧各有一个空格
  • 按测试对象不同,条件测试语句共分为4中类型:
  • 文件测试语句
  • 逻辑测试语句
  • 整数值比较语句
  • 字符串比较语句
 
  • 文件测试语句所用到的参数及作用如下:
  • -d      测试文件是否为目录类型
  • -e      测试文件是否存在
  • -f       判断是否为一般文件
  • -r       测试当前用户是否有权限读取
  • -w      测试当前用户是否有权限写入
  • -x       测试当前用户是否有权限执行
 
  • 条件测试语句通常与echo $?结合使用,echo $?用来判断上一条语句是否执行成功,输出0则表示上一条语句执行成功,输出其他值则表示失败
 
  • 文件测试语句,简单示例如下:
  • 判断/etc是否为一个目录
  • 判断文件/etc是否存在
  • 判断/etc是否为一般文件
  • 判断当前用户对文件/etc/fstab是否有读取、写入、操作权限
  • 逻辑测试语句,是为了对测试结果进行逻辑分析,简化我们的测试流程,分为3中类型
  • &&   用于逻辑与        一般用法为,   [ 条件表达式 ] && echo "YES"          即,&&前面的语句执行成功了,才会去执行&&后面的语句,若&&前面的语句执行失败,则无任何输出
  • ||       用于逻辑或        一般用法为,   [ 条件表达式 ] || echo "NO"      即,||前面的语句执行失败,才会去执行||后面的语句,若||前面的语句执行成功,则无任何输出
  • !     用于逻辑非        !主要用于对条件表达式取反,然后结合&&或||来使用
  • &&与||连用,效果更好,      [ 条件表达式 ] && echo "YES"  || echo "NO"      即,若条件表达式的判断结果为真,则会输出YES,若条件表达式的判断结果为假,则输出NO
  • 逻辑测试语句,简单示例如下:
  • 整数值比较语句
  • 整数值比较语句会用到整数比较运算符,分列如下:
  • -eq      是否等于
  • -ne      是否不等于
  • -gt       是否大于
  • -lt        是否小于
  • -le       是否小于或等于
  • -ge      是否大于或等于
  • 简单示例如下:
  • 字符串比较语句
  • 字符串比较语句会用到字符串比较运算符,分列如下:
  • =      比较字符串内容是否相同
  • !=     比较字符串内容是否不同
  • -z     判断字符串是否为空
  • 简单示例如下:

第二十篇 Linux条件测试语句相关知识点介绍的更多相关文章

  1. 第二十一篇 Linux中的环境变量简单介绍

        环境变量之   PATH 定义解释器搜索用户执行命令的路径 获取PATH变量的值: echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/us ...

  2. Python开发【第二十篇】:缓存

    Python开发[第二十篇]:缓存redis&Memcache   点击这里 Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy ...

  3. “全栈2019”Java异常第二十二章:try-with-resources语句详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  4. SHELL 中条件语句的运用 if for 条件测试语句

    if条件测试语句可以让脚本根据实际情况自动执行相应的命令.从技术角度来讲,if语句分为单分支结构.双分支结构.多分支结构:其复杂度随着灵活度一起逐级上升. if条件语句的单分支结构由if.then.f ...

  5. 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用

    目录 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用 21.1 read命令键盘读取变量的值 21.1.1 read常用见用法及参数 21.2 流程控制语句if 21.2 ...

  6. shell条件测试语句实例-测试apache是否开启

    终于理解了shell条件测试语句"!="和"-n"的用法区别,于是有了如下的shell脚本,做为练习. 第一种方法:测试apache是否开启?字符串测试 #!/ ...

  7. Python之路【第二十篇】:待更新中.....

    Python之路[第二十篇]:待更新中.....

  8. [转帖]Linux教程(21)-Linux条件循环语句

    Linux教程(21)-Linux条件循环语句 2018-08-24 16:49:03 钱婷婷 阅读数 60更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原创文 ...

  9. Egret入门学习日记 --- 第二十篇(书中 9.1~9.3 节 内容 组件篇)

    第二十篇(书中 9.1~9.3 节 内容 组件篇) 第八章中的内容. 以上都是基本的Js知识,我就不录入了. 直接来看 第9章. 开始 9.1节. 以上内容告诉你,Egret官方舍弃了GUI,使用了E ...

随机推荐

  1. java注释英语自动机翻

    一.简介 每次面试都被怼spring源码你看过吗?你用spring开发源码你都不看的吗?这样怎么开发?那我就下点决心,趁着现在疫情在家宅,我要看spring源代码.但是发现注释都是英文,勉勉强强能看懂 ...

  2. 2018ICPC南京站Problem J. Prime Game

    题意: 对于所有数字分解质因子,如果某个质因子在这个区间出现,则贡献为1,求所有质因子对所有区间做的贡献. 解析: 考虑如果所有全部区间都有这个质因子则这个质因子的贡献是n*(n+1)/2,对于任意因 ...

  3. 菜得一P!

    什么时候才能改变粗心大意的坏毛病!太吃亏了...

  4. (转)预估大数据量下UV的方法

    在实际应用中,我们经常碰到这种情况,即要统计某个对象或者事件独立出现的次数.对于较小的数据量,这很容易解决,我们可以首先在内存中对序列进行排序,然后扫描有序序列统计独立元素数目.其中排序时间复杂度为O ...

  5. 【做题笔记】洛谷P1506 拯救oibh总部

    跑一遍染色法,最后判断哪些位置没被染色即可 一些技巧: 为了判断方便,把字符转换成 int 型的数字. 注意边界问题 详细解释见代码 #include <iostream> #includ ...

  6. ECMAScript基本语法——④变量

    简介 变量:一小块存储数据的内存空间先申请了一块内存空间,规定空间的存储类型,给空间赋值3, 想找到这个3可以通过内存空间的地址值,但是通过地址值太麻烦了,给这个空间起了一个名字a 通过这个a可以找到 ...

  7. php中多图上传采用数组差集处理(array_diff,array_map)

    //删除旧有的图片 //新增数组 $arr2=array(); //原有数组 $old_pics = ReportPic::find()->where(['report_id' => $i ...

  8. windows重建ESP分区修复引导

    开始 装在虚拟机里面的win7实在是太卡了,所以准备把虚拟磁盘文件复制到固态硬盘,,,但是,,, 我只有128GB固态... 那就只能卸载之前通宵装的linux 好气 首先需要装进入PE UEFI + ...

  9. 后台异常 - sql语句查询出的结果与dao层返回的结果不一致

    问题描述 sql语句查询出的结果与dao层返回的结果不一致 问题原因 (1)select 中,查询的列名称重复,数据出现错乱 (2)使用不等号,不等号(!=,<>),查询出来的结果集不包含 ...

  10. SpringBoot+springDataJpa实现单表字段动态部分更新

    写在前面 所谓的动态部分更新是指:并非对数据记录的所有字段整体更新,而是知道运行时才确定哪个或者哪些字段需要被更新. 1)Spring Data Jpa对于Entity的更新,是对数据表中Entity ...