man test 查詢:
TEST(1) User Commands TEST(1)
NAME
test - check file types and compare values
SYNOPSIS
test EXPRESSION
[ EXPRESSION ]
DESCRIPTION
Exit with the status determined by EXPRESSION.
( EXPRESSION )
EXPRESSION is true
! EXPRESSION
EXPRESSION is false
EXPRESSION1 -a EXPRESSION2
both EXPRESSION1 and EXPRESSION2 are true
EXPRESSION1 -o EXPRESSION2
either EXPRESSION1 or EXPRESSION2 is true
-n STRING
the length of STRING is nonzero
STRING equivalent to -n STRING
-z STRING
the length of STRING is zero
..........
| 測試選項 | 代表意義 |
| -e | 該『檔名』是否存在?(常用) |
| -f | 該『檔名』是否為檔案(file)?(常用) |
| -d | 該『檔名』是否為目錄(directory)?(常用) |
| -b | 該『檔名』是否為一個 block device 裝置? |
| -c | 該『檔名』是否為一個 character device 裝置? |
| -S | 該『檔名』是否為一個 Socket 檔案? |
| -p | 該『檔名』是否為一個 FIFO (pipe) 檔案? |
| -L | 該『檔名』是否為一個連結檔? |
| 測試選項 | 代表意義 |
| -r | 偵測該檔名是否具有『可讀』的屬性? |
| -w | 偵測該檔名是否具有『可寫』的屬性? |
| -x | 偵測該檔名是否具有『可執行』的屬性? |
| -u | 偵測該檔名是否具有『SUID』的屬性? |
| -g | 偵測該檔名是否具有『SGID』的屬性? |
| -k | 偵測該檔名是否具有『Sticky bit』的屬性? |
| -s | 偵測該檔名是否為『非空白檔案』? |
| 測試選項 | 代表意義 |
| -nt | (newer than)判斷 file1 是否比 file2 新 |
| -ot | (older than)判斷 file1 是否比 file2 舊 |
| -ef | 判斷 file1 與 file2 是否為同一檔案。 |
| 測試選項 | 代表意義 |
| -eq | 兩數值相等 (equal) |
| -ne | 兩數值不等 (not equal) |
| -gt | n1 大於 n2 (greater than) |
| -lt | n1 小於 n2 (less than) |
| -ge | n1 大於等於 n2 (greater than or equal) |
| -le | n1 小於等於 n2 (less than or equal) |
| 測試選項 | 代表意義 |
| test -z string | 判定字串 string 是否為空字串? |
| test -n string | 判定字串 string 是否不為空字串? |
| test str1 == str2 | 判定 str1 是否等於 str2? |
| test str1 != str2 | 判定 str1 是否不等於 str2? |
| 測試選項 | 代表意義 |
| -a | (and)兩狀況同時成立。例如 test -r file -a -x file, |
| 則 file 同時具有 r 與 x 權限時,才回傳 true。 | |
| -o | (or)兩狀況任何一個成立。例如 test -r file -o -x file, |
| 則 file 具有 r 或 x 權限時,就可回傳 true。 | |
| ! | 反相狀態,如 test ! -x file , |
| 當 file 不具有 x 時,回傳 true |
DYWANG_HOME