Linux shell脚本数值计算个人心得
本篇博客为,个人对与bash数值计算的一些心得与用法。
Bash对于数值是没有明确定义的,在shell里面所有的数值都默认为字符串,并不是单纯的数值。
比如:a=1+2,a并不等于3,而是等于字符串1+2。
整数计算:
整数计算为整数型的数值加减乘除,没有浮点数的数值,就算浮点数的数值进行加减也会忽略小数点后面的数值。
表达式计算方法:
表达式1:$[EXPRESSION]
表达式2:$((EXPRESSION))
[ ] 和 (( )) 也被称为运算符
表达式的运算符两边可以有空格。例如: [a + b]
例子
输入:
a=1
b=1
c=2
d=$[$a+$b]
e=$(($b+$c))
f=$[$d + $b]
g=$(($e + $c))
echo "$d"
echo "$e"
echo "$f"
echo "$g"
输出:
+ echo d=2
d=2
+ echo e=3
e=3
+ echo f=3
f=3
+ echo g=5
g=5
表达式计算方式可以在运算符两边拥有空格。
注意:表达式1与bash的测试条件比较相似,但是bash的测试条件是中括号两边有空格而不表达式两边。
测试条件:中括号两边需要空格
[ $a>$b ]
表达式1:运算符两边可以有空格
[a + b]
命令的计算方式:
命令1:let
命令2:expr
命令3:bc
let命令计算:
格式: let var=$a+$b
let的计算只能计算整数不能计算浮点数,如果是浮点数进行计算的话,也会忽略小数后面的数字。例如
输入:
a=1
b=1