Shell條件判斷

2021-06-10 00:57:17 字數 1480 閱讀 6332

**:

-b file            若檔案存在且是乙個塊特殊檔案,則為真

-c file            若檔案存在且是乙個字元特殊檔案,則為真

-d file            若檔案存在且是乙個目錄,則為真

-e file            若檔案存在,則為真

-f file            若檔案存在且是乙個規則檔案,則為真

-g file            若檔案存在且設定了sgid位的值,則為真

-h file            若檔案存在且為乙個符合鏈結,則為真

-k file            若檔案存在且設定了"sticky"位的值

-p file            若檔案存在且為一已命名管道,則為真

-r file            若檔案存在且可讀,則為真

-s file            若檔案存在且其大小大於零,則為真

-u file            若檔案存在且設定了suid位,則為真

-w file            若檔案存在且可寫,則為真

-x file            若檔案存在且可執行,則為真

-o file            若檔案存在且被有效使用者id所擁有,則為真 

-z string          若string長度為0,則為真

-n string          若string長度不為0,則為真

string1 = string2 若兩個字串相等,則為真

string1 != string2 若兩個字串不相等,則為真

int1 -eq int2      若int1等於int2,則為真

int1 -ne int2      若int1不等於int2,則為真

int1 -lt int2      若int1小於int2,則為真

int1 -le int2      若int1小於等於int2,則為真

int1 -gt int2      若int1大於int2,則為真

int1 -ge int2      若int1大於等於int2,則為真

!expr              若expr為假則復合表示式為真。expr可以是任何有效的測試表示式

expr1 -a expr2     若expr1和expr2都為真則整式為真

expr1 -o expr2     若expr1和expr2有乙個為真則整式為真

相同 -eq =

不同 -ne !=

大於 -gt >

小於 -lt <

大於或等於 -ge

小於或等於 -le 為空 -z

不為空 -n

比如:比較字串 a 和 b 是否相等就寫作:if [ $a = $b ]

判斷字串 a 是否為空就寫作: if [ -z $a ]

判斷整數變數 a 是否大於 b 就寫作:if [ $a -gt $b ]

Shell 條件判斷

傳統if 從句子 以條件表示式作為 if條件 if 條件表示式 then command command command else command command fi條件表示式 檔案表示式 if f file 如果檔案存在 if d 如果目錄存在 if s file 如果檔案存在且非空 if r ...

Shell條件判斷

1 字串判斷 str1 str2 當兩個串有相同內容 長度時為真 str1 str2 當串str1和str2不等時為真 n str1 當串的長度大於0時為真 串非空 z str1 當串的長度為0時為真 空串 str1 當串str1為非空時為真 2 數字的判斷 int1 eq int2 兩數相等為真 ...

Shell 條件判斷

條件判斷的結果為0表示真,為1表示假,正好與c語言的相反。用於比較的條件分為以下四種 條件判斷的格式分為以下兩種 字串比較 說明string 1 string 2 如果string 1和string 2兩個字串相等則返回真,否則返回假 string 1 string 2 如果string 1和str...