shell脚本中对数值运算的方式有三种分别如下:
一、expr 运算方式:
命令操作符:
| 或
& 与
<= 小与等于
= 等于
!= 不等于
>= 大于等于
> 大与
+ 加
- 减
* 乘,使用时要转义,例:expr (3 \* 4)
/ 除
% 求余
也是命令操作符:string : regex用regex匹配string字符串
match string regex用regex匹配string字符串
substr string start length截取字符串,start是从1开始计数的
index string chars返回chars所在的位置,没有返回0
length string返回字符串的长度
+ token将token解释为字符串,即使是个关键字
(expression)返回expression的值,expr 3 + \( 2 + 2 \)
例:variable=$(expr 3 + 4) 用命令替换赋值给变量
注意:运算符两边要有空格 expr 2 + 2
二、方括号运算方式:
$[ operation ]
例:variable=$[ 2 * 3 ] 将运算结果赋值给变量
注意:bash shell数学运算符只支持整数运算,$[ operation ] 两边并不需要空格
三、浮点运算:
bc计算器,可以运算小数位
bc 进入bc计算器,quit退出
-q 不输出欢迎文字
scale=3 设置浮点运算的小数位
bc计算器在shell脚本中的应用:
方式一:
variable=$( echo "options; experession" | bc ) 用命令替换运行bc命令,options可以设置多个变量,expression为数学表达式。
例:var=$( echo "scale=4;var1=3;var2=5;$var1 + $var2" | bc )
方式二:内联输入重定向方法
variable=$(bc << EOF
options
statements
expressions
EOF
)
可以设置变量,运算表达式
例:
var1=20
variable=$( bc <
scale = 4
var2 = 6.2
$var1 * $var2
EOF
)