天天看點

Shell的字元串表達式介紹-實踐及企業案例腳本剖析

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" ]&amp;&amp;echo 1||echo 0</code>

<code>1</code>

<code>[root@linux-node1 ~]</code><code># [ -n "" ]&amp;&amp;echo 1||echo 0   </code>

<code>0</code>

<code>[root@linux-node1 ~]</code><code># [ -z "abc" ]&amp;&amp;echo 1||echo 0 </code>

<code>[root@linux-node1 ~]</code><code># [ ! -z "abc" ]&amp;&amp;echo 1||echo 0</code>

<code>[root@linux-node1 ~]</code><code># [ -n "$test" ]&amp;&amp;echo 1||echo 0</code>

<code>[root@linux-node1 ~]</code><code># test="oldboy"</code>

<code>[root@linux-node1 ~]</code><code># [ -n "test" ]&amp;&amp;echo 1||echo 0</code>

<code>[root@linux-node1 ~]</code><code># [ "$test" = "oldboy" ]&amp;&amp;echo 1||echo 0        </code>

 本文轉自sandshell部落格51CTO部落格,原文連結http://blog.51cto.com/sandshell/1964139如需轉載請自行聯系原作者

sandshell