1. 程式人生 > >shell腳本編程學習筆記-字符串測試表達式

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

linux shell

1.1 字符串測試操作符

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

技術分享圖片

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

技術分享圖片

字符串測試操作符提示:

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

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

註意事項:

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

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

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

例子演示:

技術分享圖片

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

技術分享圖片

系統腳本案例:

技術分享圖片

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