2006-12-23

Bash脚本中的计算[转]

Bash脚本中的计算 [原先从论坛上收集的,已不明出处]
----------------------------------------------------------------------------
在bash script中,一般我们要进行计算都是用expr这个命令,虽然也很方便但是写起来比较麻烦,例如:

i=1
i=`expr $i + 1`

变量和运算符号中间必须有空格,两边还需要用反引号扩起来。

我发现有一种简单的方法,就是类似下面的写法:

i=$(($i+1))

就是用两层小括号把算是扩起来,外面再加个小括号就可以了,大家可以试试,挺好玩儿的,最有意思的是还可以做连续运算:

i=6
i=$(($i+4/2))
echo $i

结果是8;还支持括号:

i=6
j=4
i=$(($i*(2+$j)))
echo $i

结果是36;当然直接用数字也可以:

echo $((2+4))

结果是6;呵呵,这样以后写脚本需要运算就方便多了。

---------------------------------------------------
附:
GNU bash, version 3.2.5(1)-release
测试通过.

2 条评论:

vxf 说...

我一般用 let a=b+1

陆楠 说...

我的系统里,man文档里没有let,想详细了解一下let。

如果有let的man,请man2html,then Emailme "xxflyu@gmail.com"

Thanks!