Shell基础编程之数学运算5种方法

shell编程是我最喜欢的编程之一,特别是在管理linux系统的过程中,特别的方便。shell编程也有数字运算,现在归纳整理下。

1.expr的用法

#expr用法总结:
#1.运算符的前后应有空格
#2.乘法运算时需要转义符\
#3.给变量赋值时可以用反单引号或$()
例如:

[root@zhu1 shell]# expr 3+5
3+5
[root@zhu1 shell]# expr 3 + 5
8
[root@zhu1 shell]# expr 33 - 5
28
[root@zhu1 shell]# expr 33 \* 5
165
[root@zhu1 shell]# expr 33 / 3
11
[root@zhu1 shell]# expr 33 % 4
1
[root@zhu1 shell]# m=`expr 88 \* 2` && echo $m
176
[root@zhu1 shell]# m=$(expr 88 \* 2) && echo $m
176

2.let的用法

[root@zhu1 shell]# let x=88+99 && echo $x
187
[root@zhu1 shell]# let x=88*2 && echo $x
176
[root@zhu1 shell]# let x=88-2 && echo $x
86
[root@zhu1 shell]# let x=88/2 && echo $x
44
[root@zhu1 shell]# let x=88 + 33 && echo $x
-bash: let: +: syntax error: operand expected (error token is "+")
[root@zhu1 shell]# let "x=88 + 33" && echo $x
121
#let总结:
#1.后面的表达式不能有空格,若有空格需要加上引号,所以建议一律使用let "表达式“的方法
#2.let后跟的表达式中使用变量时不需使用$
[root@zhu1 shell]# x=11 && y=22 && let "m=x+y" && echo $m
33

3.[]的用法

#[]的总结:
#1.变量名=[表达式] []里面空格有没有无所谓
[root@zhu1 shell]# m=$[88+3] && echo $m
91
[root@zhu1 shell]# m=$[88-3] && echo $m
85
[root@zhu1 shell]# m=$[88*3] && echo $m
264
[root@zhu1 shell]# m=$[88/3] && echo $m
29
[root@zhu1 shell]# m=$[ 88 - 3] && echo $m
85
#[]的总结:
#1.变量名=[表达式] []里面空格有没有无所谓

4.(())的用法

[root@zhu1 shell]# m=$((88+22)) && echo $m
110
[root@zhu1 shell]# m=$((88 - 22)) && echo $m
66
[root@zhu1 shell]# m=$((88 * 22)) && echo $m
1936
#总结
(())与let等价,(())双括号内是否有空格不做要求

5.bc的用法

[root@zhu1 shell]# m=`echo "scale=2;88+22" | bc` && echo $m
110
[root@zhu1 shell]# m=`echo "scale=2;88*22" | bc` && echo $m
1936
[root@zhu1 shell]# m=`echo "scale=2;88/22" | bc` && echo $m
4.00
#总结
#在脚本中利用bc计算的一般格式为:
variable=`echo "scale=n;expression" | bc`
bc默认输出为整数,scale可以定义小数的位数

关键词: shell , shell编程

上一篇: Memcache的安全配置:防止被非法读取数据
下一篇: Linux性能监测工具dstat介绍和使用教程

目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):