測試操作符
在編寫 shell 腳本時,測試操作符對于檢查錯誤和檢查文件狀態(tài)很重要 。下面只是可以在 ksh 和其他標(biāo)準(zhǔn) UNIX shell 中使用的一部分測試操作符:
-d
-e
-f
-n : 不是 NULL
-r
-s
-w
-x
-z : 是 null
-L
請記住,在 Unix 目錄中,設(shè)備、符號鏈接和其他對象都是文件,所以上面的測試操作符適用于所有類型的文件 。
每個人都有自己的 shell 腳本編程風(fēng)格 。無論在測試語句中使用 [[ ]] 還是 [ ],上面的測試操作符的作用是相同的 。本文使用 [[ ]] 。清單 11 演示如何使用上面列出的幾個測試操作符 。
清單 11. 使用測試操作符
【對話 UNIX: !$#@*%】#!/usr/bin/ksh
while true
do
echo "nEnter file to check: c"
read _FNAME
if [[ ! -e "${_FNAME}" ]]
then
echo "Unable to find file '${_FNAME}'"
continue
fi
if [[ -f "${_FNAME}" ]]
then
echo "${_FNAME} is a file."
elif [[ -d "${_FNAME}" ]]
then
echo "${_FNAME} is a Directory."
elif [[ -L "${_FNAME}" ]]
then
echo "${_FNAME} is a symbolic link."
else
echo "Unable to determine file type for '${_FNAME}'"
fi
[[ -r "${_FNAME}" ]] && echo "User ${USER} can read '${_FNAME}'"
[[ -w "${_FNAME}" ]] && echo "User ${USER} can write to '${_FNAME}'"
[[ -x "${_FNAME}" ]] && echo "User ${USER} can execute '${_FNAME}'"
if [[ -s "${_FNAME}" ]]
then
echo "${_FNAME} is NOT empty."
else
echo "${_FNAME} is empty."
fi
done
推薦閱讀
- UNIX 共享內(nèi)存應(yīng)用中的問題及解決方法
- 用Syslog 記錄UNIX和Windows日志的方法
- 本周五Unix系統(tǒng)將發(fā)生時間錯誤
- 秦國是現(xiàn)在的哪個省
- 如何在Unix結(jié)果中抽取想要的參數(shù)
- 同步 UNIX 文件
- /dev/tty文件在Unix操作系統(tǒng)中的妙用
- 有關(guān)UNIX啟動的一些體會
- NetWare與UNIX的互聯(lián)方法與實現(xiàn)
- iphone xs max可以無線充電嗎
