shell 判斷 數值 字串 檔案

2021-08-31 22:11:58 字數 2332 閱讀 4845

1)數值測試:

-eq 等於則為真。

-ne 不等於則為真。

-gt 大於則為真。

-ge 大於等於則為真。

-lt 小於則為真。

-le 小於等於則為真。

(2)字串測試:

= 等於則為真。

!= 不相等則為真。

-z字串 字串長度為0則為真。

-n字串 字串長度不為0則為真。

(3)檔案測試:

test file1 –ef file2                           兩個檔案具有同樣的裝置號和i結點號

test file1 –nt file2                            檔案1比檔案2 新

test file1 –ot file2                            檔案1比檔案2 舊

test –b file                                           檔案存在並且是塊裝置檔案

test –c file                                           檔案存在並且是字元裝置檔案

test –d file                                           檔案存在並且是目錄

test –e file                                           檔案存在

test –f file                                            檔案存在並且是正規檔案

test –g file                                           檔案存在並且是設定了組id

test –g file                                           檔案存在並且屬於有效組id

test –h file                                           檔案存在並且是乙個符號鏈結(同-l)

test –k file                                           檔案存在並且設定了sticky位

test –b file                                           檔案存在並且是塊裝置檔案

test –l file                                           檔案存在並且是乙個符號鏈結(同-h)

test –o file                                           檔案存在並且屬於有效使用者id

test –p file                                           檔案存在並且是乙個命名管道

test –r file                                            檔案存在並且可讀

test –s file                                           檔案存在並且是乙個套接字

test –t fd                                             檔案描述符是在乙個終端開啟的

test –u file                                           檔案存在並且設定了它的set-user-id位

test –w file                                          檔案存在並且可寫

test –x file                                           檔案存在並且可執行

-e檔名 如果檔案存在則為真。

-r檔名 如果檔案存在且可讀則為真。

-w檔名 如果檔案存在且可寫則為真。

-x檔名 如果檔案存在且可執行則為真。

-s檔名 如果檔案存在且至少有乙個字元則為真。

-d檔名 如果檔案存在且為目錄則為真。

-f檔名 如果檔案存在且為普通檔案則為真。

-c檔名 如果檔案存在且為字元型特殊檔案則為真。

-b檔名 如果檔案存在且為塊特殊檔案則為真。

另外,linux還提供了與(!)、或(-o)、非(-a)三個邏輯操作符,用於將測試條件連線起來,其優先順序為:!最高,-a次之,-o最低。

同時,bash也能完成簡單的算術運算,格式如下:

$[expression]

例如:var1=2

var2=$[var1*10+1]

則var2的值為21。

Shell數值 字串比較

僅用shell 能否讀取檔案中的第乙個數 二元比較操作符,比較變數或者比較數字.注意數字與字串的區別.整數比較 eq 等於,如 if a eq b ne 不等於,如 if a ne b gt 大於,如 if a gt b ge 大於等於,如 if a ge b lt 小於,如 if a lt b l...

Shell數值 字串比較

shell中字串 數值的比較 二元比較操作符,比較變數或者比較數字.注意數字與字串的區別.整數比較 eq 等於,如 if a eq b ne 不等於,如 if a ne b gt 大於,如 if a gt b ge 大於等於,如 if a ge b lt 小於,如 if a lt b le 小於等於...

Shell數值 字串比較

shell中字串 數值的比較 二元比較操作符,比較變數或者比較數字.注意數字與字串的區別.整數比較 eq 等於,如 if a eq b ne 不等於,如 if a ne b gt 大於,如 if a gt b ge 大於等於,如 if a ge b lt 小於,如 if a lt b le 小於等於...