算术运算
$(())
# 直接运行
echo $((5+3)) # 输出8
# 变量
a=5
echo $((a + 3)) # 输出8
#前自增
$((++i))
#后自增
$((i++))
#前自减
$((--i))
#后自减
$((i--))
$[]
# 变量
a=5
echo $[a + 3] # 输出8
#前自增
$[++i]
#后自增
$[i++]
#前自减
$[--i]
#后自减
$[i--]
expr
+号两边要有空格
echo `expr 3 + 5` # 输出8
bc
# 浮点类型参与运算
➜ Desktop echo "5+1.555" | bc
6.555
# 保留2位有效数值
➜ Desktop echo "scale=2;5/3" | bc
1.66
# 比较大小,0表示false,1表示true
➜ Desktop echo "2.5 > 3.5" | bc
0
➜ Desktop echo "2.5 < 3.5" | bc
1
let (+=前后没有空格)
i=5
let i+=2
# echo $i => 5
逻辑运算
&&: 符号左边的是true,才会执行符号右边的内容,否则不执行右边的表达式
➜ Desktop true && echo true
true
||: 符号左边的是false,才会执行符号右边的内容,否则不执行右边的表达式
➜ Desktop false || echo false
false
!: 取反
!false <==> true
随机数(RANDOM)
用法
➜ Desktop echo $RANDOM
6366
利用取余运算获取某个范围的数值
# 取0-9
➜ Desktop echo $[RANDOM%10]
6
# 取0-99
➜ Desktop echo $[RANDOM%100]
64
# 取0-999
➜ Desktop echo $[RANDOM%1000]
708
# 取1-1000
➜ Desktop echo $[RANDOM%1000+1]
130
扩大范围
echo $[RANDOM*RANDOM]
输出等差序列
用法1:seq 末数
➜ Desktop seq 5
1
2
3
4
5
用法2:seq 首数 末数
➜ Desktop seq 2 5
2
3
4
5
用法3:seq 首数 步长 末数
➜ Desktop seq 2 2 5
2
4
用法4:默认的分隔符是换行符,可以使用 -s 指定换行符
➜ Desktop seq -s ' ' 5
1 2 3 4 5
用法5:使用 -w 等宽显示数值,不足前置补0
➜ Desktop seq -s' ' -w 15
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
参考:
https://www.cnblogs.com/newcaoguo/p/5980913.html
https://blog.csdn.net/weixin_30790841/article/details/98932518