當前位置:生活全書館 >

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命令

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