# 版權宣告: 1999 Copyright OLS3 All rights reserved.
# 作者: OLS3 (臥龍小三)
# 本講義僅供台南縣 87 學年度網路管理進階研習班上課之用.
# 學員可保存一份自用, 供日後網管時參考備查.
# 作者保有一切形式的著作權.
# 欲作其它用途者, 需經作者授權同意.
# 未經作者授權同意之前, 請勿轉載刊登.
條件測試
條件測試是分支與迴圈結構中十分重要的部份, 因為程式的流向, 由條件測試的真假來決定. 至於真假的判定, 和離去狀態值 $? 有關, 0 為真, 其餘為假.
測試的方法
可以使用二種方式: test 或 中括號 [ ] , 一般而言, 都是用中括號居多.
例:
if [ $num -gt 14 ]
thenecho 'num great than 14'
fi
測試的種類
string1 = string2 兩字串是否相等
string1 != string2 兩字串是否不等
string 字串是否是空的
-z string 字串長度是否為0
-n string 字串長度是否非0
-eq 等於
-ne 不等
-lt 小於
-gt 大於
-le 小於或等於
-ge 大於或等於
-b 區塊檔
-c 字元檔
-d 目錄
-f 一般檔
-r 可讀
-w 可寫
-x 可執行
-k 設定了 stricky bit
-g 設定了 group id
-u 設定了 user id
-p 管線
-s 檔案大小非 0
null 的測試
所謂 null 就是空的或者不存在的意思. 因此可以用以下三種方式來測試:
[ "$name" = "" ] 是否是空的
[ ! "$name" ] 是否不存
[ -z "$name" ] 是否長度為 0