Shell 條件判斷總結

2021-08-30 07:49:02 字數 1684 閱讀 7697

一些條件判斷 總結

-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有乙個為真則整式為真

特殊變數

$0                 正在被執行命令的名字。對於shell指令碼而言,這是被啟用命令的路徑

$n                 該變數與指令碼被啟用時所帶的引數相對應。n是正整數,與引數位置相對應($1,$2...)

$#                 提供指令碼的引數號

$*                 所有這些引數都被雙引號引住。若乙個指令碼接收兩個引數,$*等於$1$2

$@                 所有這些引數都分別被雙引號引住。若乙個指令碼接收到兩個引數,$@等價於$1$2

$?                 前乙個命令執行後的退出狀態

$$                 當前shell的程序號。對於shell指令碼,這是其正在執行時的程序id

$!                 前乙個後台命令的程序號

Shell 條件判斷總結

shell 程式設計一些條件判斷 總結 b file 若檔案存在且是乙個塊特殊檔案,則為真 c file 若檔案存在且是乙個字元特殊檔案,則為真 d file 若檔案存在且是乙個目錄,則為真 e file 若檔案存在,則為真 f file 若檔案存在且是乙個規則檔案,則為真 g file 若檔案存在...

Shell指令碼IF條件判斷和判斷條件總結

前言 無論什麼程式語言都離不開條件判斷。shell也不例外。如下 if list then do something here elif list then do another thing here else do something else here fiex1 bin sh system u...

Shell指令碼IF條件判斷和判斷條件總結

自 前言 無論什麼程式語言都離不開條件判斷。shell也不例外。if list then dosomething here elif list then doanother thing here else dosomething else here fi ex1 bin sh system unam...