Skip to content

Latest commit

 

History

History
51 lines (48 loc) · 960 Bytes

运算.md

File metadata and controls

51 lines (48 loc) · 960 Bytes

运算

数学运算

bash中的数学运算并不如其他语言般简便,甚至bash本身不支持小数运算(需要额外指令bc)。

$[ ]

a=2
b=3
c=$[a+b]
d=$[a-b]
e=$[a*b]
f=$[a/b]

操作符左右可加空格。

expr ` `

利用expr命令的反引用

#!/bin/bash
a=2
b=3
expr $a + $b
expr $a - $b
expr $a \* $b
expr $a / $b
#赋值
c=`expr $a + $b`

注意乘法运算时不能直接使用*,要转义\*。因为*在正则匹配中是全匹配的意思。

$(())

a=2
b=3
echo $(($a+$b))
echo $(($a-$b))
echo $(($a*$b))
echo $(($a/$b))
#赋值
c=$(($a/$b))

这个运算的操作符左右可以有空格 ##自增自减 bash中也能实现自增自减,不过没有C语言中那么简便。bash需要借助let工具来实现

i=1
let i++   #此时i=2
let i+=2  #此时i=4

没错,let除了能实现自增运算外,也能实现C语言中的复合赋值运算符