bash腳本編程之二、條件判斷
條件判斷:
如果用戶不存在
添加用戶,給密碼並顯示添加成功;
否則
顯示用戶已存在,沒有添加
bash中如何實現條件判斷?
整數測試
字符測試
文件測試
條件測試的表達式:
[expression]
`expression`
test expression
整數比較:
-eq:測試兩個整數是否相等;比如 $A -eq $B
-ne:測試兩個整數是否不等;不等,爲真;相等,爲假;
-qt:測試一個數是否大於另一個數;大於爲真;否則,爲假;
-lt:測試一個數是否小於另一個數;小於爲真;否則,爲假;
-ge:大於或等於
-le:小於或等於
命令間的邏輯關係:
邏輯與:&&
第一個條件爲假時,第二個條件不會再判斷,最終結果已經有;
第二個條件爲真時,第二個條件必須得判斷;
邏輯或:||
如果用戶user2不存在,就添加用戶user2
!id user2 && useradd user2
id user2 || useradd user2
變量名稱:${VARNAME},括號有時可省略
1、只能包含子母、數字和下劃線,並且不能數字開頭;
2、不應該跟系統中已有的系統變量重名;
3、最好做到見名知意;
如果用戶user1存在,就顯示用戶已存在;否則,就添加;
id user1 && echo "user1 exists." || useradd user1
如果用戶user1不存在,就添加;否則,顯示其已經存在;
! id user1 && useradd user1 || echo “user1 exists.”
如果用戶user1不存在,添加並且給密碼;否則,顯示其已經存在;
! id user1 && useradd user1 && echo "user1" | passwd --stdin user1 || echo "user1 exists."
條件判斷,控制結構:
單分支if語句
if 判斷條件; then
statement1
statement2
...
fi
雙分支if語句:
if 判斷條件; then
statement1
statement2
else
statement3
statement4
fi
shell中如何進行算數運算:
1、let 運算表達式
let c=$A+$B
2、$[算術表達式]
c=$[$A+$B]
3、$((算數表達式))
c=$(($A+$B))
4、expr 算術表達式,表達式中個操作數及運算符之間要有空格,而且要使用命令引用
c=`expr $A + $B`