shell編程二條件判斷
阿新 • • 發佈:2018-07-04
設備 等於 環境 報錯 否則 test 大於 規則 common 1.條件判斷的表達式:
[ 表達式 ] 或者 [[ 表達式 ]] 或者 test 表達式,要註意的是[ ]或者[[ ]]中括號內要與表達式之間用空格隔開,否則會報錯。
2.if else fi 條件語句
格式:
if 條件 ;then
如果條件為真則執行這裏的語句
else
條件為假則執行這裏語句(else可以省略)
fi
3.命令之間的邏輯關系
邏輯與:符號 && 只有兩個條件同時為真時,結果為真,如果第一個為真,就繼續判斷第二個條件,如果第一個條件為假,就結束判斷,因為結果已經確定為假 邏輯或:符號 || 只要有一個為真,結果為真,如果判斷第一個條件為真時,就不需要判斷後面的條件了,因為結果已經出來了,為真,否則就繼續判斷
4.整數之間的條件判斷
-eq :用來判斷兩個整數之間是否相等,如果相等返回的狀態為0(真) -ne :用來判斷兩個整數之間是否不等,如果不等返回的狀態為真,否則為假 -gt :用來判斷前一個數是否大於後一個數,如果大於返回真,否則為假,如:7 -gt 5 返回為真 -lt :用來判斷前一個數是否小於後一個數,如果小於返回真,否則為假,如:5 -lt 7 返回為真 -ge :用來判斷前一個數是否大於等於後一個數,如果大於等於返回真,否則為假,如:7 -gt 5或者7 -gt 7 返回為真 -le :用來判斷前一個數是否小於等於後一個數,如果小於等於返回真,否則為假,如:5 -le 7或者5 -le 5 返回為真
5.練習
判斷一個用戶,如果用戶存在,則打印一條語句“user is exits。”,否則創建此用戶,並答應一條語句“useradd success。”: #!/bin/bash username="zzyyoo" (id $username &> /dev/null && echo "user is exist.") || (useradd $username &>/dev/null && echo "useradd success.") ###/dev/null是一個類似黑洞的設備,把數據重定向到這裏,都會被回收。 給定一個用戶,如果uid為0,則打印“root user。”,否則打印“common user。”: #!/bin/bash #user=‘wwzzyy‘ user=‘root‘ if [ `id -u $user` -eq 0 ];then echo "root user." else echo "common user." fi
6.變量命名規則
由數字,字母和下劃線組成
不能以數字開頭,如3ab
變量名最好不要和系統中已有的環境變量重名,避免覆蓋
shell編程二條件判斷