#!/bin/bash
#个人总结shell 数学计算的几种方法
no1=4;
no2=5;
#--------let-------------------
let result=
n
o
1
+
{no1}+
no1+{no2} #等价于 let result=no1+no2
echo $result
#自加,自减
let no1-- #自增或自减模式下不能添加变量符号$
let no2++
echo $no1 $no2
#简写形式,(注)
let no1+=6 #相当于 let no1=no1+6
let no2-=4 #相当于 let no2=no2-4
echo $no1 $no2
#--------[]--------------------
result=$[ ${no1} + KaTeX parse error: Expected 'EOF', got '#' at position 20: …} ] #̲相当于[no1+no2],可有空格,$可有可无
echo
r
e
s
u
l
t
r
e
s
u
l
t
=
result result=
resultresult=((no1+no2)) #
(
(
((
(({no1}+)) (注)(())可取代[]
#----------------expr------------------
result=expr $no1 + $no2
#该计算器,运算符前后必须要有空格
echo $result
#以上几种计算器不支持浮点数,只用于整数运算==========
#---------bc高级数学运算工具------------------------
echo “4*0.333”|bc
result=echo "4*0.333"|bc
result=echo "scale=2;10 / 3"|bc
#保留小数位
echo $result
#进制转换
no=10
echo “obase=2;$no”|bc #默认将十进制10转换成2进制
no=1010
echo “obase=10;ibase=2;$no”|bc #将二进制1010转换成10进制
#计算平方及平方根
echo “scale=3;sqrt(2)”|bc
echo “2^10”|bc
#---------awk-数学计算----------------------
echo 10 3|awk ‘{printf “%.4f\n”,$1/$2}’