shell编程之运算符

shell变量是弱类型的,且默认是字符串型,所以默认情况下无法进行数值计算。

解决方法如下:

declare主动声明变量类型

命令格式:declare  [+/-] [选项]  变量名
选项:     -   :给变量设定类型属性
     +  :取消变量的类型属性
    -a  :将变量声明为数组型
     -i  :将变量声明为整数型(integer)
    -x  :将变量声明为环境变量
     -r :将变量声明为只读变量
     -p:显示指定变量的被声明的类型


例子:a=1   
b=2
declare -i c=$a+$b
        #c的值为3,而不是"1+2"


声明数组变量

命令格式: bag[0]=ab 或declare -a bag[2]=dfs

查看数组变量

echo ${bag}                 #没有下标,查看第一个元素
echo ${bag[1]}             #查看下标为1的元素
echo ${bag[*]}      #查看所有元素




数值运算方法

除了上面讲的declare -i方法,还有如下方法:



expr或let数值运算工具

例子:a=2
        b=3
        d=$(expr $a + $b)        注意: + 两侧必须有空格!



"$((运算式))"或"$[运算式]"

例子:   a=3
    b=5
    c=$(($a+$b))     或  c=$[$a+$b]







你可能感兴趣的:(shell)