6.1bash编程入门值变量类型、for循环和算术运算

    bash弱类型:
        变量=值
            任何变量无需事先声明,可直接使用
            值默认都是字符型
            a=abc, b=3
            a=3
            赋值:
                a=4
            增强型赋值:
                +=, -=, *=, /=, %=
                a=$[$a+1] 相当于 let a+=1

                自加:var++, var--, ++var, --var
        形如,此为字串型赋值    export PATH=$PATH:/usr/local/apache/bin

            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的算术运算的方式:
            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 $userName

            for Var in LIST; do

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

转载于:https://my.oschina.net/u/1762991/blog/664179

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值