您的位置:首页 > 运维架构 > Shell

shell编程——变量的数值计算

2015-06-03 14:59 676 查看
在shell脚本中,有时候会需要对数值类型的变量进行计算,通常我们用的是(())

[root@localhost collect]# ((a=1+2))
[root@localhost collect]# echo $a
3
[root@localhost collect]# a=$((1+2+3))
[root@localhost collect]# echo $a
6
[root@localhost collect]# echo $((1+2+3+4))
10


但使用(())只能对整数进行数值计算,要想对浮点数进行计算则需使用bc

bc是linux下的计算器,它本身支持科学计算

[root@localhost collect]# echo "1+2"|bc
3
[root@localhost collect]# echo "1.3+2.2"|bc
3.5
[root@localhost collect]# echo "1.3*2.2"|bc
2.8
[root@localhost collect]# echo "2.5*4"|bc
10.0


这里再介绍linux下实现增量计算的有趣方法:变量++/– 和 ++/–变量

++/–放在变量的前面和后面效果差别很大:

[root@localhost collect]# a=1
[root@localhost collect]# echo $a
1
[root@localhost collect]# echo $((++a))  #先计算a+1,然后输出a
2
[root@localhost collect]# echo $a        #这里a的值就是+1后的值
2
[root@localhost collect]# echo $((a++))  #先输出a,然后才计算a+1,所以这里a的值还是没有+1前的值
2
[root@localhost collect]# echo $a        #这时候的变量a才是+1后的值
3
[root@localhost collect]# echo $((a--))  #同理,先输出a,再计算
3
[root@localhost collect]# echo $a
2
[root@localhost collect]# echo $((--a))  #先计算,再输出
1
[root@localhost collect]# echo $a
1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 数值计算