shell-条件测试

基本语法

为了判断shell程序的某种或几种条件是否成立,shell提供了一组测试运算符。通过返回值判断真假
条件测试的语法有两种:test 和[(为了方便阅读使用[])

  test expression
  [ expresssion ]   #条件和左右括号之间必须带空格

字符串测试

字符串测试运算符

运算符 说明
string 判断指定的字符串是否为空
string1=string2 判断两个字符串是否相等
string1!=string2 判断两个字符串是否不等
-n string 判断string是否是非空字符串
-z string 判断string是否是空字符串
  #!/bin/bash  
  x="abc"
          test $x     #x不为空,所以返回值应该是0
          echo $?
  y="def"
          [ "$x" = "$y" ]  #判断两个相等,而x,y两个字符串不相等,输出应该是错误的
          echo $?
          test "$X" != "$y" #判断两个不相等,输出应该是对的
          echo $?

结果如下

整数测试

常见整数运算符

运算符 说明
number1 -eq number2 比较两个是否相等,如果相等正确输出
number1 -ne number2 两个是否不等,不等则正确输出
number1 -gt number2 number1是否大于number2,是则正确输出
number1 -lt number2 number1是否小于number2,是则正确输出
number1 -ge number2 是否大于等于.......
number1 -le number2 是否小于等于.......

这个很简单

文件测试

常见文件操作符

操作符 说明
-a 判断文件是否存在。 存在输出0
-b 文件是否存在且为块文件。
-c 文件是否存在且为字符文件
-d 文件是否存在且为目录
-e 与-a相同
-s 文件非空
-f 文件存在且是常规文件
-w 文件存在且可写
-L 文件存在且为符号链接
-u 文件是否有suid位
-r 文件存在且可读
-x 文件存在且可执行

猜你喜欢

转载自www.cnblogs.com/hxlinux/p/12934742.html