shell条件测试

一、条件测试的基本语法

shell条件测试_第1张图片

[[ ]]使用最多

二、文件测试表达式

shell条件测试_第2张图片

文件不存在,状态码非0,文件存在,状态码为0:

shell条件测试_第3张图片

shell条件测试_第4张图片

shell条件测试_第5张图片

shell条件测试_第6张图片

shell条件测试_第7张图片

shell条件测试_第8张图片

shell条件测试_第9张图片

shell条件测试_第10张图片

&&:与    前面的成功执行(状态码为0),后面的才会执行

shell条件测试_第11张图片

||:或      前面的成功执行,后面的就不执行了。前面的没有执行,后面的才会执行

shell条件测试_第12张图片

!:非      取反

shell条件测试_第13张图片

shell条件测试_第14张图片

shell条件测试_第15张图片

shell条件测试_第16张图片

shell条件测试_第17张图片

三、字符串测试表达式

shell条件测试_第18张图片

shell条件测试_第19张图片

shell条件测试_第20张图片

shell条件测试_第21张图片

四、整数测试表达式

shell条件测试_第22张图片

在9的版本中有所改动,[ ]也能使用!=,=一些符号     [[ ]]也能使用eq le ge符号,不能使用>=  <=符号

shell条件测试_第23张图片

shell条件测试_第24张图片

shell条件测试_第25张图片

注意:[ ]在大于的时候出错了

shell条件测试_第26张图片

=~表示判断前面的变量有没有包含后面的值

shell条件测试_第27张图片

第二个相当于下面这个:

grep过滤后有输出返回0,没有返回1

shell条件测试_第28张图片

五、逻辑操作符

shell条件测试_第29张图片

-f判断文件是不是存在且为普通文件,如果返回真,则执行echo 0,||后面的不执行;如果返回假,||后面的执行,输出1

file存在,输出0;file1不存在,输出1

shell条件测试_第30张图片

&&连接两条指令:要么两条指令都加[ ],要么中间-a表示and,-o表示or

shell条件测试_第31张图片

shell条件测试_第32张图片

shell条件测试_第33张图片

shell条件测试_第34张图片

shell条件测试_第35张图片

shell条件测试_第36张图片

shell条件测试_第37张图片

shell条件测试_第38张图片

判断输入的是不是两个。-z字符串的长度是不是为0,如果a或b长度为0即为空,说明输入的不是两个。

判断输入的是不是数字。Expr将两个数字相加,标准输出写道黑洞。判断状态码是否为0,为0,则代表这两个数都是数字,如果非0,则至少一个不是数字

接着比较大小,如果不是大于,小于,那就是等于

shell条件测试_第39张图片

shell条件测试_第40张图片

shell条件测试_第41张图片

你可能感兴趣的:(linux,shell)