Shell编程条件语句 test命令 整数值,字符串比较 逻辑测试 文件测试

Shell编程条件语句

条件测试操作

test命令

  • 用来测试表达式是否成立,若成立返回0,否则返回其他数值
  • 它只能用来判断是否成立,无法判断是否正确
格式1:test 条件表达式
格式2:[ 条件表达式 ]   #中括号和条件表达式两边要有空格,否则会报错

在进行测试表达式的时候,如果我们测试一个没有定义的表达式,那么他返回的就是非0值,代表该表达式不成立,但当我们定义了该值,那么就代表表达式成立,就会返回0.
在这里插入图片描述
在这里插入图片描述

文件测试

[ 操作符 文件或目录 ]        #中括号与内容需要有空格

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

在这里插入图片描述

整数值比较

[ 整数1 操作符 整数2 ]

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

在这里插入图片描述

字符串比较

 格式1: [ 字符串1 = 字符串2 ]   [ 字符串1 != 字符串2]
 格式2:[ -z 字符串 ]   [ -n 字符串 ]

常用的测试操作符
  =:字符串内容相同
  !=:字符串内容不同,!号表示取反的意思
  -z:字符串内容为空  ,对于未定义或者赋予空值的变量将被视为空串
  -n:检查是否有字符串存在

在这里插入图片描述

逻辑测试

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

常用的测试操作符
   -a或&&:逻辑与,“而且”的意思,前后条件需都成立。
   # &&,||操作符能够正常存在于[[]]条件判断结构中,但如果出现在[]结构中,会报错。
   -o或||:逻辑或,“或者”的意思,只需要前后条件中的一个成立
   !:逻辑否

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51614581/article/details/111246009