shell-条件测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell-条件测试相关的知识,希望对你有一定的参考价值。

1.基本语法

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

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

2.字符串测试

字符串测试运算符

运算符 说明
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 $?

结果如下

3.整数测试

常见整数运算符

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

这个很简单

4.文件测试

常见文件操作符

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

以上是关于shell-条件测试的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本编程概述:算数运算和条件测试

Shell脚本基础 使用变量 条件测试及选择 列表式循环

Shell条件测试

Shell条件测试)

Shell脚本的条件测试与比较

Shell编程-05-Shell中条件测试与比较