算术命令

  • let
    let num=1+2
    let num="1+2"
    let 'num= 1 + 2'
    let num=1 num+=2 

如果有空格或通配符,则需要引号。所以那些会得到错误:

   let num = 1 + 2    #wrong
   let 'num = 1 + 2'  #right
   let a[1] = 1 + 1   #wrong
   let 'a[1] = 1 + 1' #right
  • (( ))
  ((a=$a+1))     #add 1 to a
  ((a = a + 1))  #like above
  ((a += 1))     #like above

我们可以在 if 中使用 (())。一些例子:

if (( a > 1 )); then echo "a is greater than 1"; fi 

(()) 的输出可以分配给变量:

result=$((a + 1))

或直接用于输出:

echo "The result of a + 1 is $((a + 1))"