• shell 数值运算


    declare数值运算

    linux默认变量类型为字符串
    declare [+/-] [选项] 变量名

    '-' 给变量设定类型属性
    '+' 取消变量的类型属性
    '-a' 将变量声明为数组型
    '-i' 将变量声明为整数型(integer)
    '-x' 将变量声明为环境变量
    '-r' 将变量声明为只读变量
    '-p' 显示指定变量的被声明的类型;
    

    声明自读变量

     declare -r test
     给test赋予只读属性,但是请注意只读属性会让变量不能修改,不能删除,甚至不能取消只读属性
    "声明数值类型"
     >>aa=11
     >>bb=22
     >>declare -i cc=$aa+$bb
    

    声明环境变量

     declare -x test=123
     #和export作用相似,但其实是declare命令的作用
    
    [root@ssgao1987 ~]# movie[0]=zp
    [root@ssgao1987 ~]# movie[1]=tp
    [root@ssgao1987 ~]# declare movie[2]=live
    [root@ssgao1987 ~]# echo ${movie}
    zp
    [root@ssgao1987 ~]# echo ${movie[2]}
    live
    [root@ssgao1987 ~]# echo ${movie[*]}
    zp tp live
    note: declare movie[x]=xx与movie[x]=xxx是等价的     
    

    数值运算工具

    [root@ssgao1987 ~]# aa=11
    [root@ssgao1987 ~]# bb=22
    [root@ssgao1987 ~]# dd=$(expr $aa + $bb) 
    [root@ssgao1987 ~]# echo $dd
    33
    -------
    #dd的值是aa和bb的和。注意"+"号左右两侧必须有空格
    $((运算式))或$[运算式]
    [root@ssgao1987 ~]# ff=$(($aa+$bb))  最好记的格式
    [root@ssgao1987 ~]# echo $ff
    33
    [root@ssgao1987 ~]# gg=$[$aa+$bb]
    [root@ssgao1987 ~]# echo $gg
    33
    

    shell的运算实例

    [root@ssgao shell]# cat c.sh 
    #!/bin/bash
    a=$1
    b=$2
    d=$a+$b
    c=`expr $a + $b`  //对变量进行加法操作结果赋给变量c 注意添加``
    e=`expr $a * $b` //乘法需要进行转移操作
    echo "c 的结果:${c}"
    echo "d 的结果:${d}"
    echo "e 的结果:${e}" 
    [root@ssgao shell]# sh c.sh 2 4
    c 的结果:6
    d 的结果:2+4
    e 的结果:8    
        
    aa=$(( (11+3)*3/2 ))
    虽然乘和除优先级高于加,但是通过小括号可以调整运算优先级
    ​
    bb=$((14%3))
    14不能被3整除,余数是2
    ​
    cc=$((1&&0))
    逻辑与运算只有想与的两边都是1,与的结果才是1,否则与的结果是0    
    

  • 相关阅读:
    同一子网建立ssh通道,映射到本地
    机器学习线性模型-自定义各个模块阶段
    MATLAB中图像处理的函数
    基于鱼皮肤的鱼个体识别(1)
    防骗指南-东南亚绑架,诈骗,菠菜
    防骗指南-识别传销
    防骗指南-套路贷以及肉偿
    防骗指南-套路贷如何识别
    Opencv 特征提取与检测-Haar特征
    1. QCamera2基础组件——cam_semaphore
  • 原文地址:https://www.cnblogs.com/ssgao/p/8871601.html
Copyright © 2020-2023  润新知