1. 程式人生 > >shell編程二條件判斷

shell編程二條件判斷

設備 等於 環境 報錯 否則 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編程二條件判斷