shell腳本編程學習之路-字符串測試表達式

1.字符串測試操作符

字符串測試操作符的作用有:比較兩個字符串是否相同、字符串的長度是否為零,字符串是否為NULL(注:bash區分零長度字符串和空字符串等)下表為常用字符串操作符

shell腳本編程學習之路-字符串測試表達式

也可以通過man test查看字符串測試操作符

shell腳本編程學習之路-字符串測試表達式

字符串測試操作符提示:

(1)-n比較字符串長度是否不為零,如果不為零則為真,如:[ -n "$myvar" ]

(2)-z比較字符串長度是否等於零,如果等於零則為真,如:[ -z "$myvar" ]特別注意:對於以上表格中的字符串測試操作符號。如:[ -n "$myvar" ]要把字符串用""雙引號引起來。

注意事項:

(1)字符串或字符串變量比較都要加雙引號之後再比較。

(2)字符串或字符串變量比較,比較符號兩端最好都有空格,學習SHELL多參考系統腳本。

"="比較兩個字符串是否相同,與"=="等價,如[ "$a"="$b" ]其中$a這樣的變量最好用""雙引號引起來,因為如果中間有空格,*等符號就可能出錯了,當然更好的辦法就是["${a}"="${b}"]。

例子演示:

shell腳本編程學習之路-字符串測試表達式

等號兩端不加空格的錯誤案列:

shell腳本編程學習之路-字符串測試表達式

系統腳本案例:

shell腳本編程學習之路-字符串測試表達式

總結:

1、字符串或者字符串變量都要用""雙引號引起來。

2、比較符號等於號=和不等於號!=兩端一定要有空格。

3、比較符號用等於號=和不等於號!=,不要用!==和==這種形式,書寫要規範。

4、字符串變量要用大括號{}括起來,例如${a}。


分享到:


相關文章: