test 是 Shell 内置命令,用来检测某个条件是否成立。test 通常和 if 语句一起使用,可以用来进行字符串的相关操作。
语法 | 说明 |
---|---|
-z str | 判断字符串 str 是否为空。 |
-n str | 判断宇符串 str 是否为非空。 |
str1 = str2 str1 == str2 | = 和== 是等价的,都用来判断 str1 是否和 str2 相等。 |
str1 != str2 | 判断 str1 是否和 str2 不相等。 |
str1 > str2 | 判断 str1 是否大于 str2。\> 是> 的转义字符,这样写是为了防止> 被误认为成重定向运算符。 |
str1 < str2 | 判断 str1 是否小于 str2。同样,\< 也是转义字符。 |
在 C 语言、C++、Python、Java 等编程语言中,==、>、< 在大部分编程语言中都用来比较数字,而在 Shell 中,它们只能用来比较字符串,不能比较数字。
其次,不管是比较数字还是字符串,Shell 都不支持 >= 和 <= 运算符,切记。
使用 test 命令,实现比较两个字符串
#!/bin/bash
str1="HelloWorld"
str2="HelloHaiCoder"
if test $str1 == $str2
then
echo "两个字符串相等"
else
echo "两个字符串不相等"
fi
程序运行后,控制台输出如下:
我们使用了 test 命令与 if 语句,进行了两个字符串的判断。
test 是 Shell 内置命令,用来检测某个条件是否成立。test 通常和 if 语句一起使用,可以用来进行字符串的相关操作。