linux将大于3小于10的数学,Linux命令备忘实例(3)——数学运算

bash命令中,对于直接的算术操作的支持比较欠缺,但是有多个命令可以实现算术操作。对于基本的算术操作,可以使用let、(( ))、[ ]、expr执行,只支持基本整数操作;当需要进行高级操作,比如浮点数,进制转换时,可以使用bc这个工具。

1.基本整数运算

1.let

使用普通的赋值方法定义数值时,由于默认的都为字符串,因此可以使用let命令进行算术运算。使用let命令时,变量名前不需要加$符号。而且,支持自增,自减,运算赋值。

user@ubuntu:~$n1=1;n2=2; let n3=$n1+$n2; echo $n3

3

user@ubuntu:~$let n3++; echo $n3

4

user@ubuntu:~$let n3--; echo $n3

3

user@ubuntu:~$let n3+=$2; echo $n3

5

user@ubuntu:~$let n3=$n1*$n2; echo $n3

2

user@ubuntu:~$let n3=3**3; echo $n3

27

2.操作符[ ]和(( ))

这两个操作符与let命令类似,只需要使用$将操作符的结果取回,类似于bash中的子命令结果返回。

user@ubuntu:~$n1=1;n2=2; res=$[n1 + n2]; echo $res

3

user@ubuntu:~$res=$((n2 ** n2)); echo $res

4

3.expr

expr同样只能用于整数运算,不支持浮点数。与上述命令类似。

c2f9acda3d15ce11da1a4eca71ac19fb.png

user@ubuntu:~$res=`expr 12 + 2`; echo $res

14

user@ubuntu:~$n1=1; res=$(expr $n1 + 3); echo $res

4

user@ubuntu:~$expr index "abcde" 'b'

2

user@ubuntu:~$res=`expr 12+2`; echo $res

12+2

使用expr时必须要在运算符两边加上空格,否则会当做字符串。支持的运算如上图中列举。

2.高级工具bc

bc是一个用于数学运算的高级工具,包含了大量的选项,可以进行精密的计算。如设置浮点数精度、进制转换、计算平方根等。

12d5a0304e0c71c4c654b6b70ef21e40.png

使用bc工具可以直接输入bc命令,然后就出现了一个供输入表达式的提示,按回车之后就可以得出结果。基本运算符有:+,-,*,/,^(指数)、%(取模)。使用scale可以设定输出小数精度,默认为0。

user@ubuntu:~$bc

bc 1.06.95

Copyright ......

1+2+3

6

4^2

16

15%4

3

1/3

0

scale=3

1/3

.333

如果要离开bc计算环境,输入quit即可。当然bc也可以接受字符串来进行计算。可以设定小数进度、进制转换。

user@ubuntu:~$echo "4 * 0.6" | bc

2.4

user@ubuntu:~$echo "scale=3; 4/7" | bc

.571

user@ubuntu:~$echo "obase=2;100" | bc

1100100

user@ubuntu:~$echo "obase=10;ibase=2;100" | bc

4

user@ubuntu:~$echo "sqrt(100)" | bc

10

在shell脚本的编写中,总是会需要用到各种数学运算的,这些功能算是给数学运算欠缺的shell提供了一定的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值