Bash shell的环境之中,可以利用let (())和[] 来进行基本的算术操作,在进行高级操作的时候,expr和bc工具会被使用到

直接利用普通的变量赋值的方式进行定义数值,虽然会被存储为字符串,但是再使用的时候,可以作为数字来处理

比如先进行如下的赋值

#1/bin/bash

num1=4

num2=5

let命令可以直接让字符串变为数字执行对应的算术操作

let result=num1+num2

echo $result

let num1++

let num2–

let num1+=6

result=$[ num1 + num2 ]

result=$[ $num1 + 5]

expr同样进行相对应的算术操作

d=expr 3 + 4

e=$(expr $num1 +4)

如果要使用expr更加高深的使用方式,可以使用如下的命令

g=`expr substr “this is a test” 6 10`

使用了反引号作为规定的表达式范围

当然,这些方法只能适用于整数类型的计算,对于浮点数类型的计算,支持并不太好

shell提供了用于数学计算的高级工具,精密计算器包含了大量的选项,可以执行对应的浮点数运算和一些高级函数

图片

这里可以将echo出来的结果作为变量保存下来,进行相对应输出

bc还能设置一些其他的参数,来执行一些不同的具体操作

1.设置小数精度,scale=2

echo “scale=2;3/10” | bc

因此,bc会输出包含两个小数位的数值

进制转换

用bc可以将一种进制系统转换为另外一种,如果将十进制转换为二进制,将二进制转换为十进制

图片

计算平方和平方根

echo “sqrt(100)” | bc #Square root

echo “10^10” | bc #Square

发表评论

邮箱地址不会被公开。 必填项已用*标注