• 条件测试语句的格式如下:
  • [ 条件表达式 ]        # 条件表达式两侧各有一个空格
  • 按测试对象不同,条件测试语句共分为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. execute、executeUpdate、executeQuery的区别

    链接:https://blog.csdn.net/u012501054/article/details/80323176 链接:https://blog.csdn.net/CNAHYZ/article ...

  2. 关于List比较好玩的操作

    作为Java大家庭中的集合类框架,List应该是平时开发中最常用的,可能有这种需求,当集合中的某些元素符合一定条件时,想要删除这个元素.如: public class ListTest { publi ...

  3. 题解 AT3853 【Otoshidama】

    题目传送门. 暴力枚举题. 分析 Step 1:定义两个变量,\(n\)和\(y\). int n,y; cin>>n>>y; Step 2:使用二重循环进行暴力枚举. for ...

  4. JS模板引擎-Mustache模板引擎使用实例1-表格树

    1 使用实例代码 1.jsp代码 <!DOCTYPE html> <html lang="zh-CN"> <head> <title> ...

  5. Docker最全教程——从理论到实战(十)

    终于按时完成第二篇.本来准备着手讲一些实践,但是数据库部分没有讲到,部分实践会存在一些问题,于是就有了此篇以及后续——数据库容器化.本篇将从SQL Server容器化实践开始,并逐步讲解其他数据库的容 ...

  6. python多项式拟合:np.polyfit 和 np.polyld

    python数据拟合主要可采用numpy库,库的安装可直接用pip install numpy等. 1. 原始数据:假如要拟合的数据yyy来自sin函数,np.sin import numpy as ...

  7. 马走日的解法(dfs)

    马在中国象棋以日字形规则移动. 请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. Input 第一行为整数T ...

  8. AcWing 1014. 登山

    #include<iostream> using namespace std ; ; int f[N],g[N]; int w[N]; int main() { int n; cin> ...

  9. 洛谷P1086 花生采摘

    https://www.luogu.org/problem/P1086 #include <bits/stdc++.h> using namespace std; typedef long ...

  10. hrtf virtual surround matlab实现

    将5.1 ch的数据经过hrtf处理,然后downmix到2ch,使得2ch的数据有virtual surround的效果. function output = hrir_process(input) ...