shell算术运算

shell算术运算

  • 运算方式
    • expr
    • let
    • $(())
    • $[]
    • 加1操作
  • 取模与取余区别

运算方式

expr

n=`expr a + a`
# 'a' 或 'b' 为变量时需要在加‘$’,如:$a、$b
# 'a'、'+'、'b'之间需要有空格,否则报错 expr:非整数参数
# 如果'a'或'b'未初始化,报语法错误
# expr 没有乘幂

let

let n=a+b
# 'a' 或 'b' 为变量时不需要在加‘$’,自动识别变量
# 如果'a'或'b'未初始化,默认初始化为 0

$(())

n=$((a+b))
# 'a' 或 'b' 为变量时不需要在加‘$’,自动识别变量
# 如果'a'或'b'未初始化,默认初始化为 0

$[]

n=$[a+b]
# 'a' 或 'b' 为变量时不需要在加‘$’,自动识别变量
# 如果'a'或'b'未初始化,默认初始化为 0

加1操作

# 在shell script中 +1 的几种操作方式
n=`expr $a + 1`
let n=a+1   或 let n=a+1
n=$[a+1]	或 n=$[a+1]
n=$((a+1))  或 n=#(($a+1))
# 同其他语言中的 ++ 操作
((a++))

取模与取余区别

  • 官方描述
    • 取余运算:在计算商值向0方向舍弃小数位
    • 取模运算:在计算商值向负无穷大方向舍弃小数位

你可能感兴趣的:(Linux,shell)