Shell test字符串比较

Shell test字符串比较教程

testShell 内置命令,用来检测某个条件是否成立。test 通常和 if 语句一起使用,可以用来进行字符串的相关操作。

Shell test字符串比较详解

语法

语法 说明
-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++PythonJava 等编程语言中,==、>、< 在大部分编程语言中都用来比较数字,而在 Shell 中,它们只能用来比较字符串,不能比较数字。

其次,不管是比较数字还是字符串,Shell 都不支持 >= 和 <= 运算符,切记。

案例

Shell比较两个字符串

使用 test 命令,实现比较两个字符串

#!/bin/bash str1="HelloWorld" str2="HelloHaiCoder" if test $str1 == $str2 then echo "两个字符串相等" else echo "两个字符串不相等" fi

程序运行后,控制台输出如下:

16_Shell test判断字符串.png

我们使用了 test 命令与 if 语句,进行了两个字符串的判断。

Shell test字符串比较总结

test 是 Shell 内置命令,用来检测某个条件是否成立。test 通常和 if 语句一起使用,可以用来进行字符串的相关操作。