linux中shell條件表示式總結

2021-09-23 17:31:21 字數 1123 閱讀 6217

1.字串比較

! 取反

-n str     字串 str 是否不為空

-z str     字串 str 是否為空

str1  = str2     str1是否與 str2 相同

str1 != str2     str1是否與 str2 不同

2.數值大小比較

int1 -eq int2     等於

int1 -le  int2     小於等於

int1 -ge int2     大於等於

int1 -lt   int2     小於

int1 -gt  int2     大於

int1 -ne int2     不等於

3.檔案屬性判斷

-b     是否塊檔案

-c     是否字元檔案

-d     是否乙個目錄

-e     檔案是否存在

-f     是否普通檔案

-g     是否設定了檔案的 sgid 位

-g     檔案歸本組所有

-h     是否符號連線與-l相同

-k     檔案是否設定了的貼上位

-o     是否為本使用者所有

-p     檔案是否為乙個命名管道

-r     檔案是否可讀

-s     檔案的長度是否不為零

-s     是否為套接字檔案

-t fd     fd 是否在乙個終端開啟

-u     是否設定了檔案的 suid 位

-w     檔案是否可寫

-x     檔案是否可執行

4.檔案關係比較

expr1 -a expr2     如果 expr1 和 expr2 為真,則為真

expr1 -o expr2     如果 expr1 或 expr2 為真,則為真

file1 -ef file2     file1和file2有同樣的inode號

file1 -nt file2     file1比file2新

file1 -ot file2     file1比file2老

shell中的條件表示式

by francis hao oct 1,2017 本文摘錄自bash的man手冊 條件表示式是由復合命令 或內建命令 test 和 使用的,用於測試檔案屬性和字串或數值比較。表示式形式如下表所示,如果其中的file形式為 dev fd n,那麼將測試檔案描述符n,如果file是 dev stdin...

shell中條件判斷if

a file 如果file存在則為真。b file 如果file存在且是乙個塊特殊檔案則為真。c file 如果file存在且是乙個字特殊檔案則為真。d file 如果file存在且是乙個目錄則為真。e file 如果file存在則為真。f file 如果file存在且是乙個普通檔案則為真。g fi...

shell中if判斷條件

if 的三種條件表示式 ifcommand then if函式 then 命令執行成功,等於返回0 比如grep 找到匹配 執行失敗,返回非0 grep,沒找到匹配 if expression r r r then 表示式結果為真,則返回0,if把0值引向then if test expressio...