一、(())命令
双小括号(( )),用于进行数学运算表达式的执行,将数学运算表达式放在(())之间
可以使用 $ 获取(()) 表达式命令的结果,这和使用$ 获得变量值是一样的。
((表达式))
二、let命令
let 命令和双小括号(())在数字计算方面功能一样,但是没有(( ))功能强大,let只能用于赋值计算,不能直接输出,不可以与条件判断一起使用。
let 赋值表达式
1.语法功能等价于((表达式))
2.多个表达式之间使用空格,不是","号
3.对于类似let a+b这样的写法
- Shell 虽然计算了a+b 的值,但却将结果丢弃;
- 如果 echo let a+b 会直接输出字符串 a+b ;
- 若不想这样,可以使用let sum=a+b 将a+b的结果保存在变量 sum 中。
是最简洁的整数运算赋值命令
多个表达式计算赋值用法: let 变量名1=整数运算表达式1 变量名2=整数运算表达式2 ...
三、$[]命令
和(())、let 命令类似,$[]也只能进行整数运算。但是只能对单个表达式的计算求值与输出
$[表达式]
1.$ 会对表达式进行计算,并取得计算结果
2.表达式内部不可以赋值给变量
四、bc命令
Bash shell内置了对整数运算的支持,但是并不支持浮点运算,而 linux bc (basic calculator)命令可以很方便的进行浮点运算。
- bc命令是Linux简单的计算器,能进行进制转换与计算。能转换的进制包括十六进制、十进制、八进制、二进制等。
- 可以使用的运算符号包括(+)加法、(-)减法、(*)乘法、(/)除法、()指数、(%)余数等。
4.1 bc中进行互动式的数学运算
语法:
bc [options] [参数]
案例:执行计算任务文件
可以把计算的表达式放到tast.txt 文件中,一起执行:
108*67+12345
58+2007*11
bc -q task.txt
4.2 非互动式的bc管道运算
4.3 非互动式的输入重定向bc运算
将计算表达式输出给bc去执行,特点类似于文件中输入,可以输入多行表达式,更加清晰