# $[] 表达式
$ echo $[1+2]
$ echo $[2-1]
$ echo $[2*1]
$ echo $[2/1]
$ echo $[2%3]
# $(()) 表达式
$ echo $((1+2))
# let 表达式
$ let x=1+2
$ echo $x
# expr 表达式
$ expr 1 + 2
# awk 表达式
$ echo | awk '{print 1/2}'
$ echo | awk "{print 1/2}"
$ x=1
$ y=2
$ echo | awk "{print $x/$y}"
简写表达式 | 完整表达式 |
---|---|
i++ | i=i+1 |
i– | i=i-1 |
i+=2 | i=i+2 |
i-=2 | i=i-2 |
i*=2 | i=i*2 |
i/=2 | i=i/2 |
i%=2 | i=i%2 |
# 案例一:
$ x=4
$ echo $[x+=1]
5
# 案例二:
$ x=4
$ let x++
$ echo $x
5
# 案例三:
$ let x=4+1
$ echo $x
5
$ yum -y install bc
# 进入计算机
$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
# 整数计算
2*3
6
# 小数计算
3.4+9.0
12.4
# 保留小数点
10/2
5
# 设置保留两位小数点
scale=2
# 整数相除
10/2
5.00
4/5
.80
# 退出计算机
quit
上面这种是类似直接打开计算机进行使用,一般还是需要将它用在脚本命令中去进行计算。
# 单个计算,可以不使用引号
$ echo 10/2 | bc
5
# (推荐写法)单引号跟双引号的区别跟上面 awk 一致,可以看看上面 awk 的格式介绍
# 多个计算,使用 ';' 进行分割即可
$ echo '10/2;5/2' | bc
$ echo "10/2;5/2" | bc
5
2
# 保留2位小数
$ echo "scale=2;10/2;5/2" | bc
5.00
2.50
# 单个比较
$ echo '1>2' | bc
0
$ echo '1<2' | bc
1
# 多个比较
$ echo '1>2;1<2' | bc
0
1
# 将计算结果值复制变量
$ x=$(echo '1>2' | bc)
$ echo $x
0
$ x=$(echo '1<2' | bc)
$ echo $x
1