6.1bash編程入門值變量類型、for循環和算術運算

    bash弱類型:
        變量=值
            任何變量無需事先聲明,可直接使用
            值默認都是字符型
            a=abc, b=3
            a=3
            賦值:
                a=4
            加強型賦值:
                +=, -=, *=, /=, %=
                a=$[$a+1] 至關於 let a+=1linux

                自加:var++, var--, ++var, --var
        形如,此爲字串型賦值    export PATH=$PATH:/usr/local/apache/binapache

            unset: 撤消變量
    在bash進程退出時,變量會自動銷燬
        算術運算:bash會對數字執行隱式的類型轉換
            let VAR_NAME=Integer_Value
            declare -i Var_Name=Integer_Value  定義一個整形變量
declare: declare [-aAfFilrtux] [-p] [name[=value] ...]
    Set variable values and attributes.
-i    to make NAMEs have the `integer' attribute
            操做符:
                +, -, *, /, %, **bash

                雙目運算符:須要至少兩個操做數來參與數據結構

        bash的算術運算的方式:
            let Var_Name=EXPRESSION(表達式)  命令,須要用命令引用來取結果
            [root@linux_basic you]#num1=9
            [root@linux_basic you]#num2=2
            [root@linux_basic you]#let res=$num1*$num2
            [root@linux_basic you]#echo $res
            18   
            [root@linux_basic you]#let num1=$num1+8
            [root@linux_basic you]#echo $num1
            17       
            [root@linux_basic you]#echo $num1
            22
            [root@linux_basic you]#let num1/=4   結果默認不保留小數位
            [root@linux_basic you]#echo $num1
            5
            [root@linux_basic you]#let num1--
            [root@linux_basic you]#echo $num1
            4
            $[EXPRESSION]
            $((EXPRESSION))  推薦使用
            命令:expr ARG1 OP ARG2   是一個獨立的命令,須要用命令引用來取結果
            [root@linux_basic you]#expr 1 + 3
            4
            [root@linux_basic you]#expr 1+5
            1+5進程

        for循環:
            新建10個用戶:tuser601-tuser610
                useradd $userNameip

            for Var in LIST; dofor循環

            for userName in tuser601 tuser602 tuser603; do
                useradd $userName
            done變量

            for i in {601..610}; do
                useradd tuser$i
            done循環

            遍歷LIST元素,遍歷結束,循環退出;遍歷

        bash中的字串鏈接:
            變量引用後方跟直接字串時,變量名要加{}
            [root@linux_basic you]#echo "$(num1)nu"
            -bash: num1: command not found
            nu
            [root@linux_basic you]#echo $num1
            4
            [root@linux_basic you]#echo "${num1}nu"
            4nu
            求100之內全部正整數的和:
                declare -i sum=0

                sum+=1, 0+1
                sum+=2, 0+1+2
                sum+=3
                sum+=4
                ...
                sum+=100

            declare -i sum=0
            for i in {1..100}; do
                let sum+=$i
            done

            echo $sum

    練習:寫一個腳本,顯示當前系統上有附加組的用戶的用戶名;並統計共有多少個此類用戶;
    for userName in `cut -d: -f1 /etc/passwd`; do
        id $userName |

        # egrep '[^:]$' /etc/group | cut -d: -f4 | sort -u | egrep -o '[[:alnum:]]*' | sort -u

    寫一個腳本,建立十個用戶tuser401, tuser410
數據結構是組織數據的方式

bash scripts.sh  執行,是經過給bash傳遞參數

相關文章
相關標籤/搜索