man test可以看到字符串
-nSTRING thelengthofSTRINGisnonzero STRINGequivalentto-nSTRING -zSTRING thelengthofSTRINGiszero STRING1=STRING2 thestringsareequal STRING1!=STRING2 thestringsarenotequal INTEGER1-eqINTEGER2 INTEGER1isequaltoINTEGER2 INTEGER1-geINTEGER2 INTEGER1isgreaterthanorequaltoINTEGER
字符串测试操作符:
常用字符串测试操作符
-z“字符串”,若串长度为0则真,-z可以理解为zero
-n“字符串”,若串长度为0则真,-n可以理解为no zero
"串1" = “串2”,若串1等于串2则真,可使用“==”代替“=”
“串1”!=“串2”,若串1不等于串2则真,但不能用“!==”代替“!=”
特别注意:
1、以上表格中的字符串测试操作符号必须用""双引号引起来哦。
2、比较符号两端必须有空格
3、字符串或字符串变量比较都要加双引号后再比较
4、字符串或字符串变量比较,比较符号两端最好都有空格。
练习:
[root@linux-node1~]#[-n"abc"]&&echo1||echo0 1 [root@linux-node1~]#[-n""]&&echo1||echo0 0 [root@linux-node1~]#[-z"abc"]&&echo1||echo0 0 [root@linux-node1~]#[!-z"abc"]&&echo1||echo0 1 [root@linux-node1~]#[-n"$test"]&&echo1||echo0 1 [root@linux-node1~]#test="oldboy" [root@linux-node1~]#[-n"test"]&&echo1||echo0 1 [root@linux-node1~]#[-n"$test"]&&echo1||echo0 1 [root@linux-node1~]#["$test"="oldboy"]&&echo1||echo0 1