當前位置:生活全書館 >

IT科技

> test命令 linux

test命令 linux

1、test命令功能:用來檢查檔案和比較值。

2、test命令使用:

判斷表達式:

if test  (表達式爲真)

if test !表達式爲假

test 表達式1 –a 表達式2    兩個表達式都爲真

test 表達式1 –o 表達式2    兩個表達式有一個爲真

判斷字元串:

test –n 字元串                  字元串的長度非零

test –z 字元串                   字元串的長度爲零

test 字元串1=字元串2            字元串相等

test 字元串1!=字元串2         字元串不等

判斷整數

test 整數1 –eq 整數2                        整數相等

test 整數1 –ge 整數2                        整數1大於等於整數2

test 整數1 –gt 整數2                         整數1大於整數2

test 整數1 –le 整數2                         整數1小於等於整數2

test 整數1 –lt 整數2                          整數1小於整數2

test 整數1 –ne 整數2                        整數1不等於整數2

判斷檔案

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                                           檔案存在並且可執行

3、工作原理:

test 命令最短的定義可能是評估一個表達式;如果條件爲真,則返回一個 0 值。如果表達式不爲真,則返回一個大於 0 的值 — 也可以將其稱爲假值。檢查最後所執行命令的狀態的最簡便方法是使用 $? 值。出於演示的目的,本文中的例子全部使用了這個參數。

test 命令期望在命令行中找到一個參數,當 shell 沒有爲變量賦值時,則將該變量視爲空。這意味着在處理腳本時,一旦腳本尋找的參數不存在,則 test 將報告該錯誤。

當試圖保護腳本時,您可以透過將所有參數包含在雙引號中來解決這個問題。然後 shell 將變量展開,如果變量沒有值,那麼將傳遞一個空值給 test。另一種方法是在腳本內增加一個額外檢查過程來判斷是否設定了命令行參數。如果沒有設定命令行參數,那麼腳本會告訴用戶缺少參數,然後退出。

4、test 檔案運算符

利用這些運算符,可以在程序中根據對檔案類型的評估結果執行不同的操作:

-b file 如果檔案爲一個塊特殊檔案,則爲真

-c file 如果檔案爲一個字元特殊檔案,則爲真

-d file 如果檔案爲一個目錄,則爲真

-e file 如果檔案存在,則爲真

-f file 如果檔案爲一個普通檔案,則爲真

-g file 如果設定了檔案的 SGID 位,則爲真

-G file 如果檔案存在且歸該組所有,則爲真

-k file 如果設定了檔案的粘着位,則爲真

-O file 如果檔案存在並且歸該用戶所有,則爲真

-p file 如果檔案爲一個命名管道,則爲真

-r file 如果檔案可讀,則爲真

-s file 如果檔案的長度不爲零,則爲真

-S file 如果檔案爲一個套接字特殊檔案,則爲真

-t fd 如果 fd 是一個與終端相連的開啟的檔案描述符(fd 默認爲 1),則爲真

-u file 如果設定了檔案的 SUID 位,則爲真

-w file 如果檔案可寫,則爲真

-x file 如果檔案可執行,則爲真

 

linux test命令

標籤: linux test 命令
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zh-hant/dianzi/eqkvv6.html