Testing 判斷式通常與if-then-else一起互用, 以便發揮其效果.
先從一個最簡單的例子看起 :
$ cat myscript7
#!/bin/sh
if [ -f /etc/passwd ]; then
echo "/etc/passwd is a file"
else
echo "PANIC : /etc/passwd is not a file!!"
fi
先說明一下 [ -f /etc/passwd ] 這個最重要的部份, [ ] 裡面
就是判斷式, 而這裡是判斷 /etc/passwd 是不是一個 file ?
由結果來看看是執行 then 下面的敘述, 或者執行 else 的敘述.
同時很重要一點是 底下這些敘述都是不正確的敘述, 會有錯誤產生喔 :
[-f /etc/passwd ] [-f 連在一起
[ -f /etc/passwd] passwd] 連在一起
[ -f/etc/passwd ] -f與/etc/passwd連在一起
所以利用 [ ] 我們可以做出以下這些判斷, 這些也都很常用喔 !!
語法 說明
--------------------------------------------------------------------------------
[ string1 = string2 ] string1 and string2 are equal
[ string1 != string2 ] string1 and string2 are not equal
[ string1 < string2 ] string1 is lexically less than string2
(e.g. 'a' is less than 'b')
[ string1 > string2 ] string1 is lexically greater than string2
(e.g. 'b' is greater than 'a')
[ -z string ] string is zero (e.g. a empty string)
[ -n string ] string is nonzero (e.g. a VAR string)
[ -e file ] file exists
[ -f file ] file is a file
[ -d file ] file is a directory
[ -c file ] file is a character device
[ -b file ] file is a block device
[ -p file ] file is a named pipe
[ -s file ] file is not empty
[ -k file ] file's sticky bit is set
[ -S file ] file is a socket
[ -L file ] file is a symbolic link
[ -r file ] file is readable by user
[ -w file ] file is writeable by user
[ -x file ] file is executeable by user
[ -O file ] file is owner by user
[ -G file ] file is group owned by a greoup
[ -u file ] file has its set user ID bit set
[ -g file ] file has its group user ID bit set
[ file1 -nt file2 ] file1 is newer than file2
[ file1 -ot file2 ] file1 is older than file2
[ file -ef file2 ] file1 is another name for file2
[ n1 -eq n2 ] true if integer n1 = integer n2
[ n1 -ne n2 ] true if integer n1 <> n2
[ n1 -gt n2 ] true if n1 > n2
[ n1 -ge n2 ] true if n1 >= n2
[ n1 -lt n2 ] true if n1 < n2
[ n1 -le n2 ] true if n1 <= n2
轉貼http://poppc.tw/~jason/index.php?load=read&id=17
傳承部落格 | 硬碟諮詢 | 重灌組裝 | 傳承即時留言版 | 線上MSN
傳承科技專門處理硬碟資料遺失,硬碟壞軌及異聲
各式隨身碟資料搶救,不過電及各種記憶卡如SD、MS、XD、CF
精通各種筆電改裝作業系統、MAC APPLE、LINUX、WINXP、VISTA
精緻服務盡在傳承 專業服務快速完工
1003 07/07 希捷Barracuda 7200.11全系列機瘟硬碟,傳承可處理
0925 突破!北京台商研發新隨身碟 插上電腦就可看臺灣頻道
0918 MSN霸道!強制更新9.0版本 剝奪舊版用戶登錄權
0907 告別硬碟 GDrive個資保密引疑慮
0906 為防止Downadup疫情擴大插入隨身碟請暫停使用「自動播放」功能
0903 兩倍牧場容量「2TB」硬碟一顆要8999元
傳承科技專門處理硬碟資料遺失,硬碟壞軌及異聲
各式隨身碟資料搶救,不過電及各種記憶卡如SD、MS、XD、CF
精通各種筆電改裝作業系統、MAC APPLE、LINUX、WINXP、VISTA
精緻服務盡在傳承 專業服務快速完工
1003 07/07 希捷Barracuda 7200.11全系列機瘟硬碟,傳承可處理
0925 突破!北京台商研發新隨身碟 插上電腦就可看臺灣頻道
0918 MSN霸道!強制更新9.0版本 剝奪舊版用戶登錄權
0907 告別硬碟 GDrive個資保密引疑慮
0906 為防止Downadup疫情擴大插入隨身碟請暫停使用「自動播放」功能
0903 兩倍牧場容量「2TB」硬碟一顆要8999元
首頁 -> [Shell]Shell Script 中 Testing 判斷式的介紹
2008年3月20日 星期四
[Shell]Shell Script 中 Testing 判斷式的介紹
作者是: 傳承科技 發表於: 凌晨2:27
標籤: Linux, Regular Expression
訂閱:
張貼留言 (Atom)
0 回應:
張貼留言