刚刚有个新人问到这个问题,我就顺手发一帖
正文
【测试运算符】
字符串测试
string1 = string2 string1 等于string2(=号两侧必须有空格)
string1 != string2 string1不等于string2
-z string string长度为0
-n string string长度不为0
例子:
test -z $a 或者 [ -z $a ] 这里是变量a长度为0的测试,
if [ -z $a ];
then
echo "变量a的长度为0"
fi
以上"如果$a的长度为0则条件成立,执行then后的命令,直到fi结束条 件句",
整数测试
-eq 等于
-ne 不等于
-gt 大于
-ge 大于或等于
-lt 小于
-le 小于等于
逻辑
expr1 -a expr2 与
expr1 -o expr2 或(or)
文件测试
-b 该文件是块特殊文件
-c 字符特殊文件
-d 目录存在
-f 普通文件存在而不是目录
-g 设置了set-group-ID位
-k sticky位被设置
-p 该文件是命名管道(group)
-r 文件可读
-s 文件大小不为0
-u 设置了set-user-ID位
-w 可写
-x 可执行
测试命令:test
用于计算条件表达式,返回真或者假,test退出状态为0代表真,不为0代表假
le
正文
【测试运算符】
字符串测试
string1 = string2 string1 等于string2(=号两侧必须有空格)
string1 != string2 string1不等于string2
-z string string长度为0
-n string string长度不为0
例子:
test -z $a 或者 [ -z $a ] 这里是变量a长度为0的测试,
if [ -z $a ];
then
echo "变量a的长度为0"
fi
以上"如果$a的长度为0则条件成立,执行then后的命令,直到fi结束条 件句",
整数测试
-eq 等于
-ne 不等于
-gt 大于
-ge 大于或等于
-lt 小于
-le 小于等于
逻辑
expr1 -a expr2 与
expr1 -o expr2 或(or)
文件测试
-b 该文件是块特殊文件
-c 字符特殊文件
-d 目录存在
-f 普通文件存在而不是目录
-g 设置了set-group-ID位
-k sticky位被设置
-p 该文件是命名管道(group)
-r 文件可读
-s 文件大小不为0
-u 设置了set-user-ID位
-w 可写
-x 可执行
测试命令:test
用于计算条件表达式,返回真或者假,test退出状态为0代表真,不为0代表假
le