shell中的测试结构有两种:
1. test expression
2.[ expression ] :注意"["后 和 "]"前有空格
下面为几种expression的写法:
一、整数比较运算
num1 -eq num2 :如果num1 等于 num2,测试结果为0
num1 -ge num2 :如果num1大于或等于num2,测试结果为0
num1 -gt num2 :如果num1大于num2,测试结果为0
num1 -le num2 :如果num1小于或等于num2,测试结果为0
num1 -lt num2 :如果num1小于num2,测试结果为0
num1 -ne num2 :如果num1不等于num2,测试结果为0
二、字符串运算符
string :测试字符串string是否不为空 ::::注意:这种方式只有第一种测试结构
-n string :测试字符串string是否为空
-z string :测试字符串string是否为空
string1 = string2 :测试字符串string1是否与字符串string2相同
string1 != string2 :测试字符串string1是否与字符串string2不相同
三、文件操作符
-d file :测试file是否为目录
-e file :测试file是否存在
-f file :测试file是否为普通文件
-r file :测试file是否为进程可读文件
-s file :测试file的长度是否不为0
-w file :测试file是否为进程可写文件
-x file :测试file是否为进程可执行文件
-F file :测试file是否符号化链接
四、逻辑运算符
!expression :若expression为假,则!expression 为真
expression1 -a expression2 :如果两个条件同时为真,则测试结果为真
expression1 -o expression2 :如果两个条件由一个为真,则测试结果为真
当然一、二、三都可以与四结合使用