整数比较运算符仅是对数字的操做,不能将数字与字符串、文件等内容一块儿操做,并且不能想固然地使用平常生活中的等号、大于号、小于号等来判断。由于等号与赋值命令符冲突,大于号和小于号分别与输出重定向命令符和输入重定向命令符冲突。所以必定要使用规范的整数比较运算符来进行操做。可用的整数比较运算符如表4-4所示。linux
表4-4 可用的整数比较运算符测试
操做符 | 做用 |
-eq | 是否等于 |
-ne | 是否不等于 |
-gt | 是否大于 |
-lt | 是否小于 |
-le | 是否等于或小于 |
-ge | 是否大于或等于 |
接下来小试牛刀。咱们先测试一下10是否大于10以及10是否等于10(经过输出的返回值内容来判断):spa
[root@linuxprobe ~]# [ 10 -gt 10 ] [root@linuxprobe ~]# echo $? 1 [root@linuxprobe ~]# [ 10 -eq 10 ] [root@linuxprobe ~]# echo $? 0
字符串比较语句用于判断测试字符串是否为空值,或两个字符串是否相同。它常常用来判断某个变量是否未被定义(即内容为空值),理解起来也比较简单。字符串比较中常见的运算符如表4-5所示。code
表4-5 常见的字符串比较运算符字符串
操做符 | 做用 |
= | 比较字符串内容是否相同 |
!= | 比较字符串内容是否不一样 |
-z | 判断字符串内容是否为空 |
接下来经过判断String变量是否为空值,进而判断是否认义了这个变量:table
[root@linuxprobe ~]# [ -z $String ] [root@linuxprobe ~]# echo $? 0