Shell 條件判斷總結

2021-05-22 08:42:50 字數 1980 閱讀 8851

shell

程式設計一些條件判斷 總結

-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 條件判斷總結

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

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...