1. 字串測試操作符
字串測試操作符的作用:比較兩個字串是否相同、字串長度是否為零,字串是否為null(注:bash區分零長度字串和空字串)等。
「=」比較兩個字串是否相同,與==等價,如if[ "$a" = "$b" ],其中$a這樣的變數最好用""括起來,因為如果中間有空格,*等符號就可能出錯了,當然更好的方法就是[ "$" = "$" ]。"!=" 比較兩個字串是否相同,不同則為「是」。
在書寫測試表示式時,可以使用表1.3.1中的字串測試操作符。
表1.3.1中 字串測試操作符
特別注意:以上**中的字串測試操作符號務必要用" "引起來。
1 #這裡的結果邏輯不對,條件不成立,應該返回 0
[root@test-1 ~]# [ 2 \< 1 ] && echo 1 ||echo 0
0 #轉義後是正確的。
[root@test-1 ~]# [ 2 -gt 1 ] && echo 1 ||echo 0
1[root@test-1 ~]# [ 2 -lt 1 ] && echo 1 ||echo 0
0[root@test-1 ~]# [ 2 > 1 ] && echo 1 ||echo 0
1[root@test-1 ~]# [[ 2 > 1 ]] && echo 1 ||echo 0
1[root@test-1 ~]# [[ 2 < 1 ]] && echo 1 ||echo 0
0[root@test-1 ~]# [ 2 = 1 ] && echo 1 ||echo 0
0[root@test-1 ~]# [ 1 = 1 ] && echo 1 ||echo 0
1[root@test-1 ~]# [ 2 = 1 ] && echo 1 ||echo 0
0[root@test-1 ~]# [ 2 = 2 ] && echo 1 ||echo 0
1[root@test-1 ~]# [ 2 != 2 ] && echo 1 ||echo 0
0[root@test-1 ~]# [[ 2 -lt 1 ]] && echo 1 ||echo 0
0[root@test-1 ~]# [[ 2 -gt 1 ]] && echo 1 ||echo 0
1範例2:二元字元比較
[root@test-1 ~]# [ "a" > "bc" ] && echo 1 ||echo 01[root@test-1 ~]# [ "a" < "bc" ] && echo 1 ||echo 0
1 #上面兩個條件不一樣,但結果一樣,雖然沒報語法錯誤,但顯然不對。
[root@test-1 ~]# [ "a" \> "bc" ] && echo 1 ||echo 0
0[root@test-1 ~]# [ "a" \< "bc" ] && echo 1 ||echo 0
1#加上對比較的轉義後,邏輯上顯示正確了。
Shell 字串操作符例項
表示式 含義 parameter變數未宣告,取預設值word parameter變數未宣告或值為空時,取預設值word parameter變數未宣告,則取預設值word parameter變數未宣告或值為空時,取預設值word parameter變數未宣告,取值為空,否則取值為word parame...
操作符 字串操作符 和 型別轉換操作符
一 字串操作符 對於 的使用,當所有值都是數字的時候,執行計算處理 當有乙個是字元型別的時候,就將數字轉換為string字串進行拼接處理。二 型別轉換操作符 public class text 結果 int above 0.7 0 math.round above 0.7 1 int below 0...
SAP 字串操作符
操作符 說明co 操作字串1中每個字元都在操作字串2中存在,則表示式為true,反之為false.表示式為true時sy fdpos 操作字串1的長度,為false時,sy fdpos 操作字串1中不在操作字串2中的字元所在作字串1中第乙個位置。cn操作字串1中不是每個字元都在操作字串2中存在,則表...