檔案運算子
描述
-b file
檢測 file 是否為塊裝置檔案
-c file
檢測 file 是否為字元裝置檔案
-d file
檢測 file 是否為目錄
-e file
檢測 file 是否存在
-f file
檢測 file 是否存在為普通檔案
-r file
檢測 file 是否可讀
-s file
檢測 file 是否為空檔案
-w file
檢測 file 是否可寫
-x file
檢測 file 是否可執行
-l file
檢測 file 是否符號鏈結
a) 檢測 /dev/sr0 是否為塊裝置檔案。
f="/dev/sr0
"if [ -b "$f"
]then
echo
"$ is a block (buffered) special file.
"else
echo
"$ is not a block (buffered) special file.
"fi
b) 檢測 /dev/null 是否為字元裝置檔案。
f="/dev/null
"if [ -c "$f"
]then
echo
"$ is a character (unbuffered) special file.
"else
echo
"$ is not a character (unbuffered) special file.
"fi
c) 檢測 /etc 是否為目錄。
f="/etc
"if [ -d "$f"
]then
echo
"$ is a directory.
"else
echo
"$ is not a directory.
"fi
d) 檢測 /etc/passwd 是否為普通檔案。
f="/etc/passwd
"if [ -f "$f"
]then
echo
"$ is a regular file.
"else
echo
"$ is not a regular file.
"fi
e) 檢測 /bin/mail 是否為符合鏈結。
f="/bin/mail
"if [ -l "$f"
]then
echo
"$ is a symbolic link.
"else
echo
"$ is not a symbolic link.
"fi
f) 檢測 /etc/passwd 是否可讀。
f="/etc/passwd
"if [ -r "$f"
]then
echo
"$ is readable.
"else
echo
"$ is not readable.
"fi
g) 檢測 /etc/passwd 是否可寫。
f="/etc/passwd
"if [ -w"$f
"]then
echo
"$ is writable.
"else
echo
"$ is not writable.
"fi
h) 檢測 /etc/passwd 是否可執行。
f="/etc/passwd
"if [ -x "$f"
]then
echo
"$ is executable.
"else
echo
"$ is not executable.
"fi
i) 檢測 /etc/passwd 是否存在。
f="/etc/passwd
"if [ -e "$f"
]then
echo
"$ is existent.
"else
echo
"$ is nonexistent.
"fi
j) 檢測 /etc/passwd 是否為空。
f="/etc/passwd
"if [ -s "$f"
]then
echo
"$ is empty.
"else
echo
"$ is not empty.
"fi
Shell 基本運算子 檔案測試運算子
檔案測試運算子用於檢測 unix 檔案的各種屬性。屬性檢測描述如下 操作符 說明 舉例 b file 檢測檔案是否是塊裝置檔案,如果是,則返回 true。b file 返回 false。c file 檢測檔案是否是字元裝置檔案,如果是,則返回 true。c file 返回 false。d file ...
shell檔案比較運算子
檔案比較運算子 e filename 如果 filename存在,則為真 e var log syslog d filename 如果 filename為目錄,則為真 d tmp mydir f filename 如果 filename為常規檔案,則為真 f usr bin grep l filen...
shell檔案比較運算子
e filename 如果filename 存在,則為真 e var log syslog d filename 如果filename 為目錄,則為真 d tmp mydir f filename 如果filename 為常規檔案,則為真 f usr bin grep l filename 如果fi...