一、条件测试的基本语法
[[ ]]使用最多
二、文件测试表达式
文件不存在,状态码非0,文件存在,状态码为0:
&&:与 前面的成功执行(状态码为0),后面的才会执行
||:或 前面的成功执行,后面的就不执行了。前面的没有执行,后面的才会执行
!:非 取反
三、字符串测试表达式
四、整数测试表达式
在9的版本中有所改动,[ ]也能使用!=,=一些符号 [[ ]]也能使用eq le ge符号,不能使用>= <=符号
注意:[ ]在大于的时候出错了
=~表示判断前面的变量有没有包含后面的值
第二个相当于下面这个:
grep过滤后有输出返回0,没有返回1
五、逻辑操作符
-f判断文件是不是存在且为普通文件,如果返回真,则执行echo 0,||后面的不执行;如果返回假,||后面的执行,输出1
file存在,输出0;file1不存在,输出1
&&连接两条指令:要么两条指令都加[ ],要么中间-a表示and,-o表示or
判断输入的是不是两个。-z字符串的长度是不是为0,如果a或b长度为0即为空,说明输入的不是两个。
判断输入的是不是数字。Expr将两个数字相加,标准输出写道黑洞。判断状态码是否为0,为0,则代表这两个数都是数字,如果非0,则至少一个不是数字
接着比较大小,如果不是大于,小于,那就是等于