通過help test
命令來看一下test命令可以做哪些操作並簡單翻譯一下什麼作用
檔案運算子:
-a如果檔案存在,則為true。
-b如果檔案是特殊塊,則為true。
-c如果檔案是特殊字元,則為真。
-d如果檔案是目錄,則為true。
-e如果檔案存在,則為true。
-f如果檔案存在並且是常規檔案,則為true。
-g如果檔案是set-group-id,則為true。
-h如果檔案是符號鏈結,則為true。
-l如果檔案是符號鏈結,則為true。
-k如果檔案設定了「sticky」位,則為true。
-p如果檔案是命名管道,則為true。
-r如果檔案是可讀的,則為true。
-s如果檔案存在且不為空,則為true。
-s如果檔案是套接字,則為true。
-t如果終端上的fd開啟,則為真。
-u如果檔案為set-user-id,則為true。
-w如果檔案可由您寫入,則為true。
-x如果檔案可由您執行,則為true。
-o如果該檔案實際上歸您所有,則為真。
-g如果該檔案實際上歸您的組所有,則為真。
-n如果檔案自上次讀取後已被修改,則為true。
file1 -nt file2如果file1比file2新,則為true(根據修改日期)。
file1 -ot file2如果file1早於file2,則為true。
file1 -ef file2 如果file1是到file2的硬鏈結,則為true。
除了-h和-l之外的所有檔案運算子都作用於符號的目標
如果檔案是符號鏈結,則不在符號鏈結本身上。
舉例操作:file1指令碼內容:
執行file1指令碼得到的結果
字串運算子:
-z如果字串為空,則為true。
-n字串如果字串不為空,則為true。
字串1=字串2如果字串相等,則為true。
字串1!=字串2如果字串不相等,則為true。
字串1《字串2如果字串1在字串2之前按字典順序排序,則為true。
字串1>字串2如果字串1在字串2之後按字典順序排序,則為true。
其他運營商:
-o option如果啟用了shell選項,則選項為true。
-v var如果設定了shell變數var,則為true。
-r var如果shell變數var已設定且是名稱,則為true
arg1操作arg2算術測試。op是-eq,-ne,-lt、-le、-gt或-ge。如果
arg1等於或不等於,小於、小於或等於、大於或大於或等於大於arg2。
舉例:f2指令碼內容:
執行指令碼結果:
linux中test命令詳解
測試標誌 代表意義 檔名 檔案型別 e該檔名是否存在 f該檔名是否存在且為file d該檔名是否存在且為目錄 b該檔名是否存在且為乙個block c該檔名是否存在且為乙個character device裝置 s該檔名是否存在且為乙個socket檔案 p該檔名是否存在且為乙個fifo pipe 檔案 ...
linux中shell命令test用法和舉例
shell test命令 和 是同乙個命令的不同名稱。原文 test 命令最短的定義可能是評估乙個表示式 如果條件為真,則返回乙個 0 值。如果表示式不為真,則返回乙個大於 0 的值 也可以將其稱為假值。檢查最後所執行命令的狀態的最簡便方法是使用 值。出於演示的目的,本文中的例子全部使用了這個引數。...
linux中shell命令test用法和舉例
shell test命令 和 是同乙個命令的不同名稱。原文 test 命令最短的定義可能是評估乙個表示式 如果條件為真,則返回乙個 0 值。如果表示式不為真,則返回乙個大於 0 的值 也可以將其稱為假值。檢查最後所執行命令的狀態的最簡便方法是使用 值。出於演示的目的,本文中的例子全部使用了這個引數。...