bash算数运算

一、算术运算符

**:对两个变量做幂运算  

其他:+ - * /  %       +=   -=  *=   /=   %=

二、运算顺序

如果没有expr或$[]更改运算顺序,则会将运算式以字符串的形式赋值

ehco 1+2;            结果会是  1+2    !!

办法1:用expr表示后面的表达式为一个数学运算

注意 + 前后一定要有空格!!否则不会进行算数运算

echo `expr 1 + 2`

办法2:用$[]表示数学运算。将一个数学运算写到$[]符号的中括号中,中括号中的内容将先进行数学运算

a=$[$a + 1]

三、一个简单实例

实现数学函数S=3(x^y)+4x^2+5y+6的运算

注:$1, $2 分别为第一个变量,第二个变量的值

./test.sh 2 4
#!/bin/bash
#test.sh

s=0 #定义一个求和变量,初值为0。
t=`expr $1**$2` #用expr改变运算顺序,求x的y次方。
t=$[t*3] #t乘以3。
s=$[s+t] #结果相加。
t=$[$1**2] #求x的平方。
t=$[t*4] #结果乘以4。
s=$[s+t] #结果相加。
t=`expr $2*5` #求5y的值。
s=$[s+t] #结果相加。
s=$[s+6] #结果加上6。
echo $s #输出结果。


Stay hungry Stay foolish
原文地址:https://www.cnblogs.com/xiangzi888/p/2234144.html