條件測(cè)試表達(dá)式[ expression ]、[[expression ]]些侍、括號(hào)內(nèi)前后都有空格。
整數(shù)判斷:
-eq:判斷兩個(gè)整數(shù)是否相等
-ne:判斷兩個(gè)數(shù)是否不等俺亮,不等為真沥邻、否則為假
-gt:判斷一個(gè)數(shù)是否大于另一個(gè)整數(shù),大于為真赫舒,否則為假
-lt:判斷一個(gè)整數(shù)是否小于另一個(gè)整數(shù)悍及,小于為真,否則為假
-ge:大于或等于
-le:小于或等于
命令之間的邏輯關(guān)系:
邏輯與:&&前面的為假后面的就不在執(zhí)行
邏輯或:|| 前面的為真后面的就不在執(zhí)行
變量名稱(chēng):
1号阿、只能使用字母并鸵、數(shù)字和下劃線,不能以數(shù)字開(kāi)頭扔涧。
2园担、不能與已有的環(huán)境變量重名。
3枯夜、最好見(jiàn)名知意弯汰。
幾個(gè)例子:
如果用戶不存在就添加用戶:
! id user &&?useradd user 或者id user || useradd user
如果用戶存在,顯示用戶湖雹,如果不存在就創(chuàng)建
id user&& echo “user exists.”?|| useradd user
如果用戶不存在咏闪,就創(chuàng)建用戶,否則就顯示用戶已存在
! id user?&& useradd user || echo “user exists.”
判斷當(dāng)前系統(tǒng)上是否有用戶的默認(rèn)shell是bash
#! /bin/bash
grep “\/etc/passwd &> /dev/null
RETVAL=$?
if [ $ RETVAL –eq?0 ] then
????? USERS=` grep “|?wc -l`
????? echo “the shell of $USERS users is hash.”
else
????? echo “no such this user.”
fi
shell中如何進(jìn)行算數(shù)運(yùn)算
1摔吏、let 算數(shù)表達(dá)式
如:a=1? b=2? let c=$a+$b
2鸽嫂、$[算數(shù)表達(dá)式]
c=$[$a+$b]
3、$((算數(shù)運(yùn)算符))
c=$(($a+$b))
?4征讲、expr算數(shù)表達(dá)式据某,表達(dá)式中各個(gè)操作數(shù)及運(yùn)算符中間要有表達(dá)式,而且要使用命令引用
??????? c=`expr $a + $b`