Shell - 四则运算

Shell - 四则运算,包括整数运算浮点数运算

整数运算

##### let #####
# let 支持所有常用的运算符
# 如果需要引用变量,变量前不能添加 '$'
# 建议将运算表达式用引号(单双引号都行)扩起来,当作一个参数传递给 let
# 这样的好处是允许在表达式中间存在空白符(空格),否则不允许空格的存在

# 加、减、乘、除、取余、乘方
let "result = a + b"
let "result = a - b"
let "result = a * b"
let "result = a / b"
let "result = a % b"
let "result = a ** b"

let "a += b"
let "a -= b"
let "a *= b"
let "a /= b"
let "a %= b"

let "++a"   # 前自增
let "--a"   # 前自减
let "a++"   # 后自增
let "a--"   # 后自减

# 前自增、后自增区别(自减同理)
$ a=10      # 初始化为 10

$ let "ret = ++a"   # 前自增,返回自增后的结果
$ typeset a ret
a=11
ret=11

$ let "ret = a++"   # 后自增,返回自增前的结果
$ typeset a ret
a=12
ret=11

# let 支持同时运算多个表达式
$ a=20; b=10
$ let "r1 = a + b" "r2 = a - b" "r3 = a * b" "r4 = a / b"
$ typeset a b r1 r2 r3 r4
a=20
b=10
r1=30
r2=10
r3=200
r4=2

##### (()) #####
# 同 let,但是不支持计算多个表达式

##### $(()) #####
# 作用同 (()),但是它会进行命令替换,也就是相当于 $()
# eg: result=$((10 * 10))

##### $[] #####
# 同 $(())

浮点数运算

使用 awk 一键搞定整数运算、浮点数运算、位运算等,毕竟这是一门编程语言;