实验环境:

$ bash –version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.

bash shell中的integer是长整型数值,范围和C++中的long long int一样。

a=9223372036854775807
let "a=a+1"
echo $a    #-9223372036854775808

同时,和《Advance Bash-Scripting Guide》81页上介绍的不同,在3.2的版本中,bash已经支持了浮点运算(尽管不精确)

b=3.1415926
let "b=b+1" 
echo $b    #4.1415926000000001

数值太大的浮点计算(比如3.40E+28)就不适合用bash了,python、C++等更加合适。

分类: Shell Script

发表评论

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