1. 程式人生 > >Shell的字符串表達式介紹-實踐及企業案例腳本剖析

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

linux

man test可以看到字符串

 -n STRING
              the length of STRING is nonzero
       STRING equivalent to -n STRING
       -z STRING
              the length of STRING is zero
       STRING1 = STRING2
              the strings are equal
       STRING1 != STRING2
              the strings are not equal
       INTEGER1 -eq INTEGER2
              INTEGER1 is equal to INTEGER2
       INTEGER1 -ge INTEGER2
              INTEGER1 is greater than or equal to INTEGER

字符串測試操作符:

常用字符串測試操作符

-z “字符串”,若串長度為0則真,-z可以理解為zero

-n “字符串”,若串長度為0則真,-n可以理解為no zero

"串1" = “串2”,若串1等於串2則真,可使用“==”代替“=”

“串1”!=“串2”,若串1不等於串2則真,但不能用“!==”代替“!=”

特別註意:

1、以上表格中的字符串測試操作符號必須用""雙引號引起來哦。

2、比較符號兩端必須有空格

3、字符串或字符串變量比較都要加雙引號後再比較

4、字符串或字符串變量比較,比較符號兩端最好都有空格。

練習:

[[email protected] ~]# [ -n "abc" ]&&echo 1||echo 0
1
[[email protected] ~]# [ -n "" ]&&echo 1||echo 0   
0
[[email protected] ~]# [ -z "abc" ]&&echo 1||echo 0 
0
[[email protected] ~]# [ ! -z "abc" ]&&echo 1||echo 0
1
[[email protected] ~]# [ -n "$test" ]&&echo 1||echo 0
1
[[email protected] ~]# test="oldboy"
[[email protected] ~]# [ -n "test" ]&&echo 1||echo 0
1
[[email protected] ~]# [ -n "$test" ]&&echo 1||echo 0
1
[[email protected] ~]# [ "$test" = "oldboy" ]&&echo 1||echo 0        
1


本文出自 “sandshell” 博客,請務必保留此出處http://sandshell.blog.51cto.com/9055959/1964139

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