日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

對話 UNIX: !$#@*%( 五 )


測試操作符
在編寫 shell 腳本時,測試操作符對于檢查錯誤和檢查文件狀態(tài)很重要 。下面只是可以在 ksh 和其他標(biāo)準(zhǔn) UNIX shell 中使用的一部分測試操作符:
-d 是一個目錄
-e 存在
-f 是一個常規(guī)文件
-n : 不是 NULL
-r :用戶對 有讀權(quán)限
-s 的大小大于 0
-w :用戶對 有寫權(quán)限
-x :用戶對 有執(zhí)行權(quán)限
-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

推薦閱讀