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传递参数

相关文章
相关标签/搜索