[root@Fedora14 lxg]# a=1
[root@Fedora14 lxg]# b=3
[root@Fedora14 lxg]# echo $(($a+$b))
4
[root@Fedora14 lxg]# echo $(( $a + $b ))
4
[root@Fedora14 lxg]# echo $[ $a + $b ]
4
[root@Fedora14 lxg]# echo $[$a+$b]
4
[root@Fedora14 lxg]# expr $a + $b
4
[root@Fedora14 lxg]# expr $a+$b
1+3
[root@Fedora14 lxg]# c=$(($a+$b))
[root@Fedora14 lxg]# echo $c
4
[root@Fedora14 lxg]#
bash 不支持浮点运算,如果需要进行浮点运算,需要借助bc,awk 处理。
方法一:
[chengmo@centos5 ~]$ c=$(echo "5.01-4*2.0"|bc)
[chengmo@centos5 ~]$ echo $c
-2.99
方法二:
[chengmo@centos5 ~]$ c=$(awk 'BEGIN{print 7.01*5-4.01 }')
[chengmo@centos5 ~]$ echo $c
31.04
注:在shell 中$() 与 ``等效。 中间包含命令语句执行,返回执行结果。