算术运算

使用expr - 整数运算

expr可以用来进行算术求值,他将会输出求值的结果。可以使用反单引号``或者等价的$()将其输出的结果赋值给其他变量。

注意变量要使用$

out=`expr 5 + 7`
echo $out

out=$(expr $out + 5)
echo $out

expr可以进行的运算有:+, -, *, /, %, >, <, >=, <=, =, |, & ,其中* < >符号要使用转移字符才能够让bash识别。不能进行幂运算。

expr还可以对字符串进行处理,包括match、substr、index、length

使用$[ * ],在其中进行算术运算,可以省略书写`expr *`,同时使用变量不用加$。另外,可以使用**表示幂运算。

i=2
out=$[i +7]
echo $out

使用C语言风格 - 整数运算

这里,双括号中的变量不需要使用$。

在双括号中时直接可以进行C风格的代码执行的,这里的$表明,会将C代码的执行结果作为一个右操作数。

可以使用**表示幂运算

val=10
out=$((val+1))
echo $out

也可以不赋值,直接使用

val=10
((out=val+1+5))
echo $out

使用let运算 - 整数运算

let运算

i=1
b=2
let n=b**10-i
echo $n

以上算术运算只能对整数进行计算,下边介绍浮点数的运算

bc - 浮点运算

bc是一个广泛使用的数值计算环境,这里只介绍简单的使用,更多请参见 man bc

在安装有bc的机器上:
1. 在shell中输入bc即可进行计算。
2. 编写好bc计算文件,可以直接bc file_name进行计算
3. 使用管道|,将上一个命令的输出作为输入,进行计算。

使用bc进行计算需要注意:
1. 使用时要设置scale,否则小数默认为0位
2. 可以设置输入输出的进制,ibase obase
3. 支持数学运算需要加上特定参数。“bc -l”。可以使用s、c、a、l、j、e,分表表示函数sin/cos/atan/ln/bessel function/exponential function

#!/bin/bash
echo "scale=7; 355/113" | bc 
echo "ibase=16; FFFF" | bc
echo "obase=16; 65535" | bc
echo "scale=50;a(1)*4" | bc -l

 使用$()或者反逗点``,将计算结果取出来:

 

#!/bin/bash
c=$(echo "scale=7; 355/113" | bc )
echo $c

c=`echo "scale=7; 355/113" | bc `
echo $c

 

 

 

转载于:https://www.cnblogs.com/qiusuo/p/5582451.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值