在shell脚本中,通常用的到数值计算方式有:(())、expr、let、bc、$[]。
使用(())时,需要将表达式至于(())内部,计算结果变量可以写在里面,也可以写在外面,例如
((a=3+5))
a=$((3+5))
当直接写等式时,例如i=1+2,echo $i,将会得到1+2这样的字符串输出。可以在i=1+2前面加上let命令,echo $i,结果为3.
expr后接计算表达式,但是各个参数之间需要用空格分隔,例如:expr 1 + 2。
expr有一个特殊的应用,可以判断扩展名。例如expr "$1" : ".*\.html",如果参数1的扩展名为.html,则结果为大于0的数,此数为$1的字符数,否则为0.
bc可以用于小数的计算,通常的用法是通过管道的方式将表达式传递给bc。例如:echo 3+1|bc.