LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 147|回复: 0

Shell脚本深入教程:Bash数值运算

[复制链接]
发表于 2023-12-13 15:06:35 | 显示全部楼层 |阅读模式

Bash数值运算
Bash内置数值运算
使用$(())、$[]或内置命令let或declare -i(以及等价的typeset命令)可以进行数值运算,它们都只能进行整数运算。

let命令只能单独作为一个命令行运算
declare -i声明整数类型的变量,声明后就能直接参与数值运算
$(())和$[]可以在命令内部进行运算,运算完成后会进行算术替换:即将运算结果替换到命令行中
例如:

# 使用let
n=1
let n=n+1
echo $n      # 2
let n=$n+1
echo $n      # 3

# 使用declare -i
declare -i a b c
a=10
b=100
c=a+b
echo $c   # 110

# 使用$(())和$[]
x=10
y=20
echo $(( (x+y)*2 ))
echo $[ (x+y)*2 ]
小数运算
Bash自身语法不支持小数运算。但如果真的需要进行精确到小数的运算,是可以借助其它命令工具,比如bc、awk、perl等等。

# 使用awk
$ echo 1.2 2.3 | awk '{print $1+$2}'
3.5
$ awk 'BEGIN{print 1.2+2.3}'
3.5

# 使用bc
$ echo 1.2+2.3 | bc
3.5

# 使用perl
$ perl -E 'say 1.2+2.3'
3.5
$ echo 1.2 2.3 | perl -anE 'say $F[0]+$F[1]'
3.5
文章链接: https://www.junmajinlong.com/shell/script_course/shell_number_cal/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表