①在Linux里面使用expr命令进行运算,比如:expr 1 + 2 结果就是3,输入命令的时候注意不同字符之间的空格。
还有乘号使用的是*,这里需要转义,不能直接expr 1 * 2要expr 1 \* 2
这里定义了2个变量。注意定义变量的时候是不要加空格的,而计算的时候是要加空格的。
结果:result = 30
②不仅使用expr可以进行运算操作,还可以使用括号[]进行运算
结果仍然是30,但是这里面的乘号*不用转义
③Linux中的浮点数的计算
前面的东西只能运算整数,要想运算浮点数还得使用bc命令。当然,bc也可以算整数的。
命令行输入 bc 开始进入计算器模式,退出这种模式需要输入quit。输入bc进入时会有许多的欢迎语,如果要去掉这些可以使用命令bc -q。
可以看到,运算的结果为0。这是因为计算器默认的是保留0位小数,如果想多保留几位小数可以这样
从结果还可以看出它不会四舍五入
④在shell脚本中使用bc
前面是在命令行使用bc,没有什么太大的意思,我们最终还是为了学写脚本。
var1=`echo "scale=3;1/3"|bc`
这是一种格式,由于后面是命令所以用反引号,echo后面有空格的,跟平时输入的命令一样。
然后就是“”双引号,里面有2条语句,scale=什么,指定保留小数的位数,后面一条是表达式,用分号隔开。
接着一个竖线|bc。这样就把计算的结果放到变量中了。
表达式中可以带变量的,不一定是具体的数字。
⑤bc与输入重定向的结合。
这里就放个截图吧,理解起来也很简单
这样做的好处就是看起来更简洁,当然,这个例子可能体现不出来。
但是 如果这样子
var6=`echo "scale=3;($var1*var2)+($var3*$var4)"|bc`
计算的结果是var3+var4的结果