1.字符串測試操作符
字符串測試操作符的作用有:比較兩個字符串是否相同、字符串的長度是否為零,字符串是否為NULL(注:bash區分零長度字符串和空字符串等)下表為常用字符串操作符
也可以通過man test查看字符串測試操作符
字符串測試操作符提示:
(1)-n比較字符串長度是否不為零,如果不為零則為真,如:[ -n "$myvar" ]
(2)-z比較字符串長度是否等於零,如果等於零則為真,如:[ -z "$myvar" ]特別注意:對於以上表格中的字符串測試操作符號。如:[ -n "$myvar" ]要把字符串用""雙引號引起來。
注意事項:
(1)字符串或字符串變量比較都要加雙引號之後再比較。
(2)字符串或字符串變量比較,比較符號兩端最好都有空格,學習SHELL多參考系統腳本。
"="比較兩個字符串是否相同,與"=="等價,如[ "$a"="$b" ]其中$a這樣的變量最好用""雙引號引起來,因為如果中間有空格,*等符號就可能出錯了,當然更好的辦法就是["${a}"="${b}"]。
例子演示:
等號兩端不加空格的錯誤案列:
系統腳本案例:
總結:
1、字符串或者字符串變量都要用""雙引號引起來。
2、比較符號等於號=和不等於號!=兩端一定要有空格。
3、比較符號用等於號=和不等於號!=,不要用!==和==這種形式,書寫要規範。
4、字符串變量要用大括號{}括起來,例如${a}。
閱讀更多 溫柔只給意中人l 的文章