Linux初級運維(六)——bash腳本編程(條件判斷)

 一、bash中如何實現條件判斷

    1、條件測試類型

            整數測試

            字符測試

            文件測試


    2、條件測試的表達式

            [expression]

            [[expression]]

            test expression


    3、整數比較:

            -eq:測試兩個整數是否相等:比如 $A -eq $B

        image.png

            -ne :測試兩個整數是否不等,不等,爲真,相等爲假

            -gt :測試一個數是否大於另一個數:大於爲真,否則爲假

            -lt:測試一個數是否小於另一個數:小於爲真,否則爲假

            -ge:大於或等於

            -le:小於或等於

二、bash 命令之間的邏輯關係
        邏輯與(&&):只要一個爲假,則結果一定爲假

            (當第一個條件爲假時,第二個條件不用再判斷,最終結果已經有;當第一個條件爲真時,第二個條件必須得判斷。)

        image.png

        邏輯或(||):只要一個爲真,則結果一定爲真

        例子:如果用戶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)、最後顯示當前系統上共有多少個用戶。

        image.png

    3、練習題

        寫一個腳本,完成以下要求:

            (1)如果其UID爲0,就顯示爲管理員;

            (2)否則,就顯示其爲普通用戶;

        image.png

        

三、條件判斷,控制結構

    1、單分支if語句

        if 判斷條件;then

            statement1

            statement2

            ...

         fi

        image.png

    2、雙分支的if語句

        if 判斷條件;then

            statement1

            statement2

            ...

        else

            statement3

            statement4

            ....

        fi

        image.png

四、shell中進行算術運算

        (1)let 算術運算表達式

            A=3

            B=6

        let C=$A+$B

         (2)$[算術運算表達式]

            A=3

            B=6

            C=[$A+$B]

        image.png

         (3)$((算術運算表達式))

            A=3

            B=6    

            C=(($A+$B))

        (4)expr 算術運算表達式,表達式中各操作數及運算符之間要有空格,而且要使用命令引用。

            C=`expr $A + $B`

      

五、練習題

    1、寫一個腳本

        判斷當前系統上是否有用戶的默認shell爲bash;

            如果有,就顯示有多少個這類用戶;否則,就顯示沒有這類用戶。

        image.png

        image.png

    2、寫一個腳本

        判斷當前系統上是否有用戶得默認shell爲bash;

            如果有,就顯示其中一個的用戶名;否則,就顯示沒有這類用戶。

        image.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章