一、bash中如何實現條件判斷
1、條件測試類型
整數測試
字符測試
文件測試
2、條件測試的表達式
[expression]
[[expression]]
test expression
3、整數比較:
-eq:測試兩個整數是否相等:比如 $A -eq $B
-ne :測試兩個整數是否不等,不等,爲真,相等爲假
-gt :測試一個數是否大於另一個數:大於爲真,否則爲假
-lt:測試一個數是否小於另一個數:小於爲真,否則爲假
-ge:大於或等於
-le:小於或等於
二、bash 命令之間的邏輯關係
邏輯與(&&):只要一個爲假,則結果一定爲假
(當第一個條件爲假時,第二個條件不用再判斷,最終結果已經有;當第一個條件爲真時,第二個條件必須得判斷。)
邏輯或(||):只要一個爲真,則結果一定爲真
例子:如果用戶user6不存在,就添加用戶user6
兩種表達方式:(1)!id user6 && useradd user6 (2)id user6 || useradd user6
1、如果用戶存在,就顯示用戶已存在,否則,就添加用戶:
id user1 && echo “user1 exists.” || useradd user1
如果用戶不存在,就添加,否則,顯示用戶已存在:
! id user1 && useradd user1 || echo "user1 exists."
如果用戶不存在,添加並且給密碼,否則,顯示其已經存在
!id user1 && useradd user1 && echo "user1" | passwd --stdin user1 || echo "user1 exists."
2、練習題:
(1)、添加3個用戶user1,user2,user3;但要先判斷用戶是否存在,不存在而後在添加
(2)、添加完成後,顯示一種添加了幾個用戶;當然,不能包括因爲事先存在而沒有添加的。
(3)、最後顯示當前系統上共有多少個用戶。
3、練習題
寫一個腳本,完成以下要求:
(1)如果其UID爲0,就顯示爲管理員;
(2)否則,就顯示其爲普通用戶;
三、條件判斷,控制結構
1、單分支if語句
if 判斷條件;then
statement1
statement2
...
fi
2、雙分支的if語句
if 判斷條件;then
statement1
statement2
...
else
statement3
statement4
....
fi
四、shell中進行算術運算
(1)let 算術運算表達式
A=3
B=6
let C=$A+$B
(2)$[算術運算表達式]
A=3
B=6
C=[$A+$B]
(3)$((算術運算表達式))
A=3
B=6
C=(($A+$B))
(4)expr 算術運算表達式,表達式中各操作數及運算符之間要有空格,而且要使用命令引用。
C=`expr $A + $B`
五、練習題
1、寫一個腳本
判斷當前系統上是否有用戶的默認shell爲bash;
如果有,就顯示有多少個這類用戶;否則,就顯示沒有這類用戶。
2、寫一個腳本
判斷當前系統上是否有用戶得默認shell爲bash;
如果有,就顯示其中一個的用戶名;否則,就顯示沒有這類用戶。