Windows Powershell 进行数学运算
PowerShell支持如下算术运算符:
运算符优先级
有一些因素决定了包含算术运算符的表达式如何被处理.这些因素包括了:运算符种类,运算符的顺序,是否有表达被括号括起来.例如,10+4/2返回结果12,然而(10+4)/2返回结果却是7.第一个例子中,首先处理4/2,然后将它与10相加.第二个例子中,首先处理10+4,然后将它处以2.
PowerShell根据如下优先规则对算术运算符进行计算:
1. (处理负数r)
2. *,/,%
3. +,-(处理减法)
根据上述优先级关系,PowerShell从左向右处理表达式.例如,3+6/3*4返回结果11.首先6除以3,结果等于2.使用2乘以4,结果为8.将该结果和3相加,得出最终结果11.
将你指定表达式用括号括起来,可以改变运算符优先级.被括号括起来的部分将会被首先求值,然后对其他部分进行求值.例如,(3+3)/(1+1)返回结果为3.首先,计算3+3,然后计1+1.第一部分结果为6,然后除以第二部分的结果2,最终结果为3.
算术运算符和变量
算术运算符经常和变量一起使用.例如,假设$intA变量赋值为6,变量$intB赋值为4.你可以使用+运算符对两个变量进行加法操作,如下面命令所示:
$intTotal=$intA+$intB
此例子中,6和4进行相加.结果为10,将该结果赋值给变量$intTotal.等号(=)被用来向变量$intTotal赋值.
我们可以把powershell当成一个计算器。象键入命令行那样输入数学表达式,回车,powershell会自动计算并把结果输出。常用的加减乘除模(+,-,*,/,%)运算和小括号表达式都支持。
PSC:\pstest>1+2+3 6 PSC:\pstest>0xABCD 43981 PSC:\pstest>3.14*10*10 314 PSC:\pstest>1+3-(2.4-5)*(7.899-4.444) 12.983
PowerShell也能自动识别计算机容量单位,包括KB,MB,GB,TB,PB
PSC:\pstest>1pb/1tb 1024 PSC:\pstest>1tb/1gb 1024 PSC:\pstest>1gb/1kb 1048576 PSC:\pstest>1gb/20mb*10kb 524288
假如一个网站每个页面大小为80kb,统计显示每天的PV操作为800,1个月下来占用的带宽:
PSC:\pstest>80kb*800*30/1gb 1.8310546875
假如一个网站的每天人均PV操作为5,页面大小为80Kb,主机提供商限制的总流量为10G,那平均每天的最大访客数
为:
PSC:pstest>10GB/(80KB*5)/30 873.813333333333