目录
一、条件测试
1.三种测试方法
①test命令测试
②[ ]测试(注意前后需要有空格)
③[[ ]]加强版[ ],测试支持通配符和正则表达式
三种测试方法选项:
-d 测试是否为文件夹
-f 测试是否为普通文件
-e 测试文件或目录是否存在
-a 测试文件或目录是否存在,不建议使用此选项。取反!=时echo $?是错误的返回值。
-L 测试是否为软连接文件
-r 判断当前用户是否有读权限,根据实际情况返回结果,不是按ll显示的文件属性权限。
-w 判断当前用户是否有写权限,根据实际情况返回结果,不是ll显示的文件属性权限。
-x 判断当前用户是否有可执行权限,根据实际情况返回结果,root账户时其他用户有执行权限root账户也有,若其他账户没有执行权限则root也没有。
2.正整数值比较
比较方法使用上述三种条件测试即可,①test命令②[ ] 注意前后空格③[[ ]]注意前后空格
选项:
-eq 比较第一个正整数是否等于(equal)第二个正整数
-ne 比较第一个正整数不等于(not equal)第二个正整数
-gt 比较第一个正整数是否大于(Greate than)第二个正整数
-lt 比较第一个正整数是否小于(Lesser than)第二个正整数
-ge 比较第一个正整数是否大于等于(Greate or equal )第二个正整数
-le 比较第一个正整数是否小于等于(Lesser or equal)第二个正整数
3.字符串比较
比较方法使用上述三种条件测试即可,①test命令②[ ] 注意前后空格③[[ ]]注意前后空格
选项:
= 等号前后字符串是否相等,注意前后需要空格。
!= !表示取反的意思,等号前后字符串是否不相等,注意前后需要空格。
-z 判断字符串是否为空。
-n 字符是否存在。
4、逻辑测试
①格式1:[ 表达式1 ] 操作符 [ 表达式2 ]
②格式2:命令1 操作符 命令2
操作符:
&&或-a 表示且的意思,前面表达式或命令1为真才会执行操作符后面的表达式2或命令2。一假则为假。
||或-o 表示或的意思,前面表达式1或命令1为真则整个表达式为真,前面表达式为假或命令为假才会执行后面的表达式2或命令2 。一真则为真。
! 逻辑否。