首页 > 代码库 > Bash中简单算术运算的总结
Bash中简单算术运算的总结
Bash中执行算术运算有很多种实现方式,下面总结如下:
- Bash内建的let命令
let varName=expr 举例:
n1=3 n2=4 let sum=n1+n2 n3=2 n4=10 n5=5 let n1++ let n2+=4 let sum=\(\(n1+n2\)*n5\)*(n4-n3)表达式中有括号的,要对括号进行转义,尤其是表达式中运算操作符右边的括号!
- $[expr]
varName=$[expr] 举例:
n1=3 n2=4 sum=$[n1+n2] n3=2 n4=10 n5=5 sum=$[((n1+n2)*n5)*(n4-n3)]
- $((expr))
varName=$((expr)) 举例:
n1=3 n2=4 sum=$((n1+n2)) n3=2 n4=10 n5=5 sum=$((((n1+n2)*n5)*(n4-n3)))
- expr命令
expr EXPRESSION ,其中EXPRESSION可以是 n1 + n2, n1 – n2, n1 > n2, n1 = n2等等,详细信息可以man expr命令。特别注意的是EXPRESSION中各运算参数和运算操作符之间都要有空格隔开,而且运算参数以值引用的方式出现。例:
n1=3 n2=4 sum=`expr n1 + n2`另外,expr命令在算术运算方面似乎不支持使用括号的复杂的算术表达式,只支持二元运算.
- ((expr))
举例:
n1=3 n2=4 ((sum=n1+n2)) n3=2 n4=10 n5=5 ((sum=((n1+n2)*n5)*(n4-n3)))
以上算术运算中,对运算表达式中的变量参数,可以直接使用变量参数,也可以以引用的方式,即 var 等同于 $var。赋值表达式中的被赋值变量除外。例:
let sum=num1+num2 等同于 let sum=$num1+$num2
sum=$[num1+num2] 等同于 sum=$[$num1+$num2]
sum=$((num1+num2)) 等同于 sum=$(($num1+$num2))
((sum=num1+num2)) 等同于 ((sum=$num1+$num2))
另外,以上所有算术运算实现方式,都不支持浮点精度运算,只支持整型运算。
Bash中简单算术运算的总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。