前言:
無(wú)論什么編程語(yǔ)言都離不開條件判斷。SHELL也不例外。
if list then
do something here
elif list then
do another thing here
else
do something else here
fi
EX1:
#!/bin/sh
SYSTEM=`uname -s` #獲取操作系統(tǒng)類型,我本地是linux
if [ $SYSTEM = "Linux" ] ; then #如果是linux的話打印linux字符串
echo "Linux"
elif [ $SYSTEM = "FreeBSD" ] ; then
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ] ; then
echo "Solaris"
else
echo "What?"
fi #ifend
基本上和其他腳本語(yǔ)言一樣。沒有太大區(qū)別。不過值得注意的是。[]里面的條件判斷。
1 字符串判斷
str1 = str2 當(dāng)兩個(gè)串有相同內(nèi)容、長(zhǎng)度時(shí)為真
str1 != str2 當(dāng)串str1和str2不等時(shí)為真
-n str1 當(dāng)串的長(zhǎng)度大于0時(shí)為真(串非空)
-z str1 當(dāng)串的長(zhǎng)度為0時(shí)為真(空串)
str1 當(dāng)串str1為非空時(shí)為真
2 數(shù)字的判斷
int1 -eq int2 兩數(shù)相等為真
int1 -ne int2 兩數(shù)不等為真
int1 -gt int2 int1大于int2為真
int1 -ge int2 int1大于等于int2為真
int1 -lt int2 int1小于int2為真
int1 -le int2 int1小于等于int2為真
3 文件的判斷
-r file 用戶可讀為真
-w file 用戶可寫為真
-x file 用戶可執(zhí)行為真
-f file 文件為正規(guī)文件為真
-d file 文件為目錄為真
-c file 文件為字符特殊文件為真
-b file 文件為塊特殊文件為真
-s file 文件大小非0時(shí)為真
-t file 當(dāng)文件描述符(默認(rèn)為1)指定的設(shè)備為終端時(shí)為真
3 復(fù)雜邏輯判斷
-a 與
-o 或
! 非
結(jié)尾
語(yǔ)法雖然簡(jiǎn)單,但是在SHELL里使用的時(shí)候,他的功能變得強(qiáng)大了。
聯(lián)系客服