linux shell 條件測試

2021-08-20 03:42:58 字數 1338 閱讀 4136

條件測試常用三種形式:

1. 使用test命令,如: test -f "$i"

2.用一對方括號將測試條件包起來,如:[ -f "$i" ]

3.用[[條件表示式]]的形式

檔案方面的測試

檔案測試運算子的形式及功能

引數 功能           

-r檔名

如檔案存在並且是使用者可讀的,則測試條件為真

-w檔名

如檔案存在並且是使用者可寫的,則測試條件為真

-x檔名

如檔案存在並且是使用者可執行的,則測試條件為真

-f檔名

如檔案存在並且是普通檔案,則測試條件為真

-d檔名

如檔案存在並且是目錄檔案,,則測試條件為真

-p檔名

如檔案存在並且是命名的fifo檔案,則測試條件為真

-b檔名

如檔案存在並且是塊特殊檔案,則測試條件為真

-c檔名

如檔案存在並且是字元特殊檔案,則測試條件為真

-s檔名

如檔案存在並且檔案長度大於0,則測試條件為真

-t檔案描述符

如檔案被開啟切檔案描述符是與終端裝置相關的,則測試條件為真,預設檔案描述符是1

字串測試

字串運算子的形式及功能 引數

功能-z

s1如果字串s1的長度為0,則測試條件為真

-ns1

如果字串s1的長度大於0,則測試條件為真

sl如果字串s1不是空字串,則測試條件為真

=或==

s1=s2

如果s1等於s2,則測試條件為真,「=」前後應有空格

!=s1!=s2

如果s1不等於s2,則測試條件為真

<

s1如果按字典順序s1在s2之前,則測試條件為真

>

s1>s2

如果按自定順序s1在s2之後,則測試條件為真

數值測試

數值測試運算子的形式及功能 引數

功能n1 -eq n2

如果整數n1等於n2,則測試條件為真

n1 -ne n2

如果整數n1不等於n2,則測試條件為真

n1 -lt n2

如果如果n1小於n2,則測試條件為真

n1 -le n2

如果如果n1小於或等於n2,則測試條件為真

n1 -gt n2

如果n1大於n2,則測試條件為真

n1 -ge n2

如果n1大於或等於n2,則測試條件為真

linux shell程式設計3 條件測試

1.基本語法 test condition 或 condition 使用括號方式時,條件與括號之間要加空格。2.字串測試 字串測試是條件判斷中最重要的部分,例 測試兩個字元是否相等。退出狀態變數 0表示成功,1表示失敗。if 命令就是使用該值做判斷。root localhost aa bb root...

Linux shell程式設計 條件判斷

太多了,沒記住。每次寫都要去翻,整理一下存到這裡方便查詢。b 檔案 判斷該檔案是否存在,並且是否為塊裝置檔案 是塊裝置檔案則為真 c 檔案 判斷該檔案是否存在,並且是否為字元裝置檔案 是字元裝置檔案為真 d 檔案 判斷該檔案是否存在,並且是否為目標檔案 是目錄為真 e 檔案 判斷該檔案是否存在 存在...

Linux shell 的條件 比較語法

shell判斷和比較 linux程式設計 第4版 if eq then elif eq 0 then else fi上面是乙個典型的 if else 語句語法結構。這裡的條件是數值比較。保險情況下,注意各種空格 then 可以單獨起一行,比如 if then fi while do done whi...