shell基础教学之条件测试

1. test命令

  • 测试表达式是否成立,若成立返回0(布尔值),否则返回其他数值
  • 布尔值是真( True) 或假(False )中的一个,shell编程里的布尔值成立表示为0,不成立表示为非0
  • 格式1 test 条件表达式
  • 格式2 [ 条件表达式 ](表达式两边要有空格)

2. 文件测试

格式
[ 操作符 文件或目录 ]

常用的测试操作符:
-d       #测试是否为目录(Directory)
-e       #测试目录或文件是否存在(Exist)
-f       #测试是否为文件/文件是否存在(File)
-r       #测试当前用户是否有权限读取(Read)
-w       #测试当前用户是否有权限写入(Write)
-x       #测试当前用户是否有权限执行(eXcute)

示例:
在这里插入图片描述

3. 整数值比较

格式
[ 整数1 操作符 整数2 ]

常用的测试操作符:
-eq      #等于(Equal)
-ne      #不等于(Not Equal)
-gt      #大于(Greater Than)
-lt      #小于(Lesser Than)
-le      #小于或等于(Lesser or Equal)
-ge      #大于或等于(Greater or Equal)

在这里插入图片描述
在这里插入图片描述
扩展:

在这里插入图片描述

4. 字符串比较

格式1
[ 字符串1 = 字符串2 ]或者[ 字符串1 == 字符串2 ]
[ 字符串1 != 字符串2 ]

格式2
[ -z 字符串 ]检查字符串是否为空(Zero),对于未定义或赋予空值的变量将视为空串
[ -n 字符串 ]检查是否有字符串存在

常用的测试操作符:
=           #字符串内容相同
!=          #字符串的内容不同,!号表示相反的意思
-z          #检查字符串内容是否为空
-n          #检查字符串是否存在

在这里插入图片描述
在这里插入图片描述

5. 逻辑测试

格式1
[ 表达式1 ] 操作符 [ 表达式2 ]
格式2
[ 命令1 操作符 命令2 ]

-a或&&        #逻辑与(而且的意思)
-o或||        #逻辑或(或者的意思)
!            #逻辑否

同一个中括号里使用-a或者-o,不同中括号之间使用&&或者||
在这里插入图片描述
在这里插入图片描述

注意:&&、||操作符若出现在[ ]会报错,但是&&、||能够正常存在与[ [ ] ]条件判断结构中
示例:
在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51613313/article/details/111300038