Shell test命令

test命令是shell環境中測試條件表達式的實用工具。
-b<文件>:若是文件爲一個塊特殊文件,則爲真;node

-c<文件>:若是文件爲一個字符特殊文件,則爲真;linux

-d<文件>:若是文件爲一個目錄,則爲真;shell

-e<文件>:若是文件存在,則爲真;編程

-f<文件>:若是文件爲一個普通文件,則爲真;工具

-g<文件>:若是設置了文件的SGID位,則爲真;測試

-G<文件>:若是文件存在且歸該組全部,則爲真;spa

-k<文件>:若是設置了文件的粘着位,則爲真;.net

-O<文件>:若是文件存在而且歸該用戶全部,則爲真;字符串

-p<文件>:若是文件爲一個命名管道,則爲真;get

-r<文件>:若是文件可讀,則爲真;

-s<文件>:若是文件的長度不爲零,則爲真;

-S<文件>:若是文件爲一個套接字特殊文件,則爲真;

-u<文件>:若是設置了文件的SUID位,則爲真;

-w<文件>:若是文件可寫,則爲真;

-x<文件>:若是文件可執行,則爲真。
 

linux中shell編程中的test常見用法:

判斷表達式
if test #表達式爲真

if test ! #表達式爲假

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

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

test 表達式1 ! 表達式2 #條件求反

判斷字符串
test –n 字符串 #字符串的長度非零

test –z 字符串 #字符串的長度是否爲零

test 字符串1=字符串2 #字符串是否相等,若相等返回true

test 字符串1!=字符串2 #字符串是否不等,若不等反悔false

判斷整數
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 兩個文件是否爲同一個文件,可用於硬鏈接。主要判斷兩個文件是否指向同一個inode。

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 bit位

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 #文件屬否存在並可執行

來自: http://man.linuxde.net/test

相關文章
相關標籤/搜索