shell中条件判断语法与判断条件小结
if A
then
dosth
elif B
dosth
else
dosth
fi
2.1 字符串判斷
str1 = str2 當(dāng)兩個(gè)串有相同內(nèi)容、長度時(shí)為真
str1 != str2 當(dāng)串str1和str2不等時(shí)為真
-n str1 當(dāng)串的長度大于0時(shí)為真(串非空)
-z str1 當(dāng)串的長度為0時(shí)為真(空串)
2.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為真
2.3 文件的判斷
-e file 若文件存在,則為真
-d file 若文件存在且是一個(gè)目錄,則為真
-b file 若文件存在且是一個(gè)塊特殊文件,則為真
-c file 若文件存在且是一個(gè)字符特殊文件,則為真
-f file 若文件存在且是一個(gè)規(guī)則文件,則為真
-g file 若文件存在且設(shè)置了SGID位的值,則為真
-h file 若文件存在且為一個(gè)符合鏈接,則為真
-k file 若文件存在且設(shè)置了”sticky”位的值
-p file 若文件存在且為一已命名管道,則為真
-r file 若文件存在且可讀,則為真
-s file 若文件存在且其大小大于零,則為真
-u file 若文件存在且設(shè)置了SUID位,則為真
-w file 若文件存在且可寫,則為真
-x file 若文件存在且可執(zhí)行,則為真
-o file 若文件存在且被有效用戶ID所擁有,則為真
2.4 邏輯判斷
!expr 若expr為假則復(fù)合表達(dá)式為真。expr可以是任何有效的測試表達(dá)式
expr1 -a expr2 若expr1和expr2都為真則整式為真
expr1 -o expr2 若expr1和expr2有一個(gè)為真則整式為真
$n 該變量與腳本被激活時(shí)所帶的參數(shù)相對應(yīng)。n是正整數(shù),與參數(shù)位置相對應(yīng)($1,$2…)
$? 前一個(gè)命令執(zhí)行后的退出狀態(tài)
$# 提供腳本的參數(shù)號(hào)
$* 所有這些參數(shù)都被雙引號(hào)引住。若一個(gè)腳本接收兩個(gè)參數(shù),$*等于$1$2
$0 正在被執(zhí)行命令的名字。對于shell腳本而言,這是被激活命令的路徑
$@ 所有這些參數(shù)都分別被雙引號(hào)引住。若一個(gè)腳本接收到兩個(gè)參數(shù),$@等價(jià)于$1$2
$$ 當(dāng)前shell的進(jìn)程號(hào)。對于shell腳本,這是其正在執(zhí)行時(shí)的進(jìn)程ID
$! 前一個(gè)后臺(tái)命令的進(jìn)程號(hào)
總結(jié)
以上是生活随笔為你收集整理的shell中条件判断语法与判断条件小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 360画报屏保,放大营销“感官力”
- 下一篇: find 及权限