man test可以看到字元串
<code> </code><code>-n STRING</code>
<code> </code><code>the length of STRING is nonzero</code>
<code> </code><code>STRING equivalent to -n STRING</code>
<code> </code><code>-z STRING</code>
<code> </code><code>the length of STRING is zero</code>
<code> </code><code>STRING1 = STRING2</code>
<code> </code><code>the strings are equal</code>
<code> </code><code>STRING1 != STRING2</code>
<code> </code><code>the strings are not equal</code>
<code> </code><code>INTEGER1 -</code><code>eq</code> <code>INTEGER2</code>
<code> </code><code>INTEGER1 is equal to INTEGER2</code>
<code> </code><code>INTEGER1 -</code><code>ge</code> <code>INTEGER2</code>
<code> </code><code>INTEGER1 is greater than or equal to INTEGER</code>
字元串測試操作符:
常用字元串測試操作符
-z “字元串”,若串長度為0則真,-z可以了解為zero
-n “字元串”,若串長度為0則真,-n可以了解為no zero
"串1" = “串2”,若串1等于串2則真,可使用“==”代替“=”
“串1”!=“串2”,若串1不等于串2則真,但不能用“!==”代替“!=”
特别注意:
1、以上表格中的字元串測試操作符号必須用""雙引号引起來哦。
2、比較符号兩端必須有空格
3、字元串或字元串變量比較都要加雙引号後再比較
4、字元串或字元串變量比較,比較符号兩端最好都有空格。
練習:
<code>[root@linux-node1 ~]</code><code># [ -n "abc" ]&&echo 1||echo 0</code>
<code>1</code>
<code>[root@linux-node1 ~]</code><code># [ -n "" ]&&echo 1||echo 0 </code>
<code>0</code>
<code>[root@linux-node1 ~]</code><code># [ -z "abc" ]&&echo 1||echo 0 </code>
<code>[root@linux-node1 ~]</code><code># [ ! -z "abc" ]&&echo 1||echo 0</code>
<code>[root@linux-node1 ~]</code><code># [ -n "$test" ]&&echo 1||echo 0</code>
<code>[root@linux-node1 ~]</code><code># test="oldboy"</code>
<code>[root@linux-node1 ~]</code><code># [ -n "test" ]&&echo 1||echo 0</code>
<code>[root@linux-node1 ~]</code><code># [ "$test" = "oldboy" ]&&echo 1||echo 0 </code>
本文轉自sandshell部落格51CTO部落格,原文連結http://blog.51cto.com/sandshell/1964139如需轉載請自行聯系原作者
sandshell