shell里面的数值运算可以分为两种,一种是整数的运算,一种是小数的运算
一、整数运算
1.使用命令:expr
expr命令是一个手工命令行计数器,用于求表达式变量的值,一般用于整数值,也可用于字符串。但是遇到如*(乘法)前面需要加\进行转义,如果是针对字符串并带有空格等,则需要使用引号,如果是需要使用变量,那么需要在变量前加$,注意:运算符两遍需要留空格
A=1111 //定义变量X
expr $A + 1 //加法
expr $A \* 2 //乘法
2.使用表达式:$[]或$(())
使用表达式那么*就不需要使用转义符,运算符两遍也不用留空格,如果需要使用变量,也可以省略掉$符号,可以使用echo直接将表达式输出就是结果
A=1111
echo $[A+1]
echo $((A+2))
3.使用let命令
let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。如果表达式中包含了空格或其他特殊字符,则必须引起来,let执行之后虽不会显示执行结果,但是会改变变量的值
A=1111
let b=A+1
echo $b
1112
let也可用作简写自增自减的操作
let A++ ==> let A=A+1
let A– ==> let A=A-1
二、小数运算
1.使用bc运算工具(交互式运算)
命令行输入bc,进入bc交互运算工具
[root@lxy ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
11.11+11.11
22.22
2.使用bc非交互式运算
可以使用管道将算式丢给bc进行处理,也可以使用变量,需要加上$符号,如
echo "11.11+11.11" | bc
22.22
计算的时候可以设置小数的位数,使用scale,如
echo 'scale=2; 1.1/0.3' | bc
3.66
未经允许不得转载:天府数据港官方信息博客 » shell之数值运算
客官点个赞呗! (0)