Shell條件測驗陳述句
- 一、Shell編程之條件測驗陳述句
- 1.test命令
- 2.檔案測驗
- 3.整數值比較
- 4.字串比較
- 5.邏輯測驗
- shell中&&和||的使用方法(補充)
一、Shell編程之條件測驗陳述句
1.test命令
- 測驗運算式是否成立(布林值T/F),若成立(T)回傳0,否則回傳其他數值則是不成立
格式1:test 條件運算式
格式2:[ 條件運算式 ] #條件運算式左右需要有空格,否則報錯
2.檔案測驗
[ 運算子 檔案或目錄 ]
常用的測驗運算子
-d:測驗是否為目錄
-e:測驗目錄或檔案是否存在
-f:測驗是否為檔案
-r:測驗當前用戶是否有權限讀取
-w:測驗當前用戶是否有權限寫入
-x:測驗當前用戶是否有權限執行


配合&&使用

3.整數值比較
[ 整數1 運算子 整數2 ]
常用測驗運算子
-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-le:小于或等于
-ge:大于或等于



4.字串比較
格式1:[ 字串1 = 字串2 ] 或 [ 字串1 == 字串2 ]
[ 字串1 != 字串2 ]
[ -z 字串 ] #檢測是否為空,對于未定義或賦予空值的變數將視為空串
[ -n 字串 ] #檢查是否有字串存在
= #字串內容相同
!= #字串內容不相同,!表示取反的意思


5.邏輯測驗
格式1: [ 運算式1 ] 運算子 [ 運算式2 ]...
格式2: [ 命令1 運算子 命令2 ]
-a和&& #都是邏輯與、且的意思必須兩邊同時滿足,
-o和|| #都是邏輯或者的意思只需要有一邊滿足即可,
區別:
-a和-o只能在同一個[]中使用,即只能在格式2使用
&&和||只能在兩個[]之間使用,即只能在格式1使用
&&和||也可以在[[ ]]中使用,效果一樣,
shell中&&和||的使用方法(補充)
shell中&&和||的使用方法
&&運算子:
command1 && command2
&&左邊的命令(命令1)回傳真(即回傳0,成功被執行)后,&&右邊的命令(命令2)才能夠被執行;換句話說,“如果這個命令執行成功&&那么執行這個命令”,
1 命令之間使用 && 連接,實作邏輯與的功能,
2 只有在 && 左邊的命令回傳真(命令回傳值 $? == 0),&& 右邊的命令才會被執行,
3 只要有一個命令回傳假(命令回傳值 $? == 1),后面的命令就不會被執行,
-------------------------------------------------------------------------------------
||運算子:
command1 || command2
||則與&&相反,如果||左邊的命令(命令1)未執行成功,那么就執行||右邊的命令(命令2);或者換句話說,“如果這個命令執行失敗了||那么就執行這個命令,
1 命令之間使用 || 連接,實作邏輯或的功能,
2 只有在 || 左邊的命令回傳假(命令回傳值 $? == 1),|| 右邊的命令才會被執行,這和 c 語言中的邏輯或語法功能相同,即實作短路邏輯或操作,
3 只要有一個命令回傳真(命令回傳值 $? == 0),后面的命令就不會被執行,






轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/236558.html
標籤:其他
