let

简单的计算器,执行算术表达式。

概要

  1. let arg [arg ...]

主要用途

  • 执行一个或多个算术表达式。

参数

arg:算术表达式

返回值

let最后一个执行的表达式的计算结果为0时返回1,否则返回0。 当let执行的表达式的除数为0时,返回1并报错。

运算符优先级递减表

运算符 描述
id++, id-- 变量后增量、变量后减量
++id, --id 变量预增量、变量预减量
-, + 正号、负号
!, ~ 逻辑否、按位取反
** 幂运算
*, /, % 乘法、除法、取余
+, - 加法、减法
<<, >> 按位左移、右移
<=, >=, <, > 比较
==, != 等于、不等于
& 按位与
^ 按位异或
```\ ``` 按位或
&& 逻辑与
```\ \ ``` 逻辑或
expr ? expr : expr 条件运算符(三元运算符)
=, *=, /=, %=, +=, -=,
```<<=, >>=, &=, ^=, \
=``` 赋值

例子

  1. # 尝试直接在终端中执行算术表达式(就像在python的IDLE)。
  2. 3+4
  3. bash3+4command not found...
  4. # 换一种方式。
  5. 3 + 4
  6. bash3command not found...
  7. # 看来不行。
  1. # let命令赋值。
  2. let a=3**4
  3. echo ${a}
  4. # 显示81。
  5. # ((...))和let命令等效。
  6. ((a=3**4))
  1. # let常用于变量赋值,而外部命令expr可直接返回表达式的值。
  2. let 3+4
  3. # 没有显示7。
  4. # 执行后显示7,注意空格。
  5. expr 3 + 4
  1. # 条件表达式。
  2. if ((8>4)); then
  3. echo '8 is greater than 4.'
  4. else
  5. echo 'error'
  6. fi
  7. # 注意空格。
  8. if [[ 12 -le 10 ]]; then
  9. echo 'error'
  10. else
  11. echo '12 is greater than 10.'
  12. fi
  1. # 可以通过declare命令设置整型属性的方法来进行算术运算。
  2. # local命令与此类似。
  3. # 没有指定整型属性,输出为字符串'a+b'。
  4. declare a=3 b=4 c
  5. c=a+b
  6. echo ${c}
  7. # 不过可以使用以下方式赋值。
  8. c=$((a+b))
  9. echo ${c}
  10. # 显示7
  11. # 设置了整型属性就可以直接加了。
  12. declare -i a=3 b=4 c
  13. c=a+b
  14. echo ${c}
  15. # 同上。
  16. declare -i a
  17. a=2*3
  18. echo ${a}
  19. # 显示6。

注意

  1. 该命令是bash内建命令,相关的帮助信息请查看help命令。

  2. 执行算术计算的命令除了let,还有外部命令exprbc等。