Shell脚本中的算术运算

Shell脚本作为运维工作中的一个强大利器免不了有时需要进行算术运算,shell脚本中实现算术运算的方法很多,查阅网上各路大神的方法和结合实际使用,简单总结下:
1、使用双括号

#自加1,循环常用
[root@iZ28vzyqqtfZ ~]# i=0
[root@iZ28vzyqqtfZ ~]# ((i++))
[root@iZ28vzyqqtfZ ~]# echo $i
1
[root@iZ28vzyqqtfZ ~]# ((i++))
[root@iZ28vzyqqtfZ ~]# echo $i
2
#如果要将值赋值给变量需要加上$符号
[root@iZ28vzyqqtfZ ~]# count=$((i++))
[root@iZ28vzyqqtfZ ~]# echo $count
2
[root@iZ28vzyqqtfZ ~]# echo $count
0
[root@iZ28vzyqqtfZ ~]# count=$((i+2*3))
[root@iZ28vzyqqtfZ ~]# echo $count
6

2、使用中括号

#这个需要带$符号,只能用来赋值,不能进行 ++ 这种简洁运算
[root@iZ28vzyqqtfZ ~]# count=$[1+1]
[root@iZ28vzyqqtfZ ~]# echo $count
2
[root@iZ28vzyqqtfZ ~]# count=$[1*10]
[root@iZ28vzyqqtfZ ~]# echo $count
10

3、使用expr

#注意表达式数值之间用空白隔开
[root@iZ28vzyqqtfZ ~]# expr 3 * 4
12
[root@iZ28vzyqqtfZ ~]# count=`expr 3 * 4`
[root@iZ28vzyqqtfZ ~]# echo $count
12

4、使用let

[root@iZ28vzyqqtfZ ~]# let count=3+4
#如果表达式数值之间有空白符需要用括号将表达式括上
[root@iZ28vzyqqtfZ ~]# let count=(3 + 4)
[root@iZ28vzyqqtfZ ~]# echo $count
7

5、使用bc

[root@iZ28vzyqqtfZ ~]# echo "1+2"|bc
3
[root@iZ28vzyqqtfZ ~]# echo "1*2"|bc
2
[root@iZ28vzyqqtfZ ~]# echo "1 * 2"|bc
2
[root@iZ28vzyqqtfZ ~]# 

文章出处:http://www.xiaomastack.com/2015/11/25/shell脚本中的算术运算/

发表评论:

你的电子邮件地址将不会被公开.

46 − = 38