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

概要

let arg [arg ...]

主要用途

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

参数

arg:算术表达式

返回值

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

运算符优先级递减表

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

例子

# 尝试直接在终端中执行算术表达式(就像在 python 的 IDLE)。
3+4
bash:3+4:command not found...
# 换一种方式。
3 + 4
bash:3:command not found...
# 看来不行。
# let 命令赋值。
let a=3**4
echo ${a}
# 显示 81。
# ((...)) 和 let 命令等效。
((a=3**4))
# let 常用于变量赋值,而外部命令 expr 可直接返回表达式的值。
let 3+4
# 没有显示 7。
# 执行后显示 7,注意空格。
expr 3 + 4
# 条件表达式。
if ((8>4)); then
  echo '8 is greater than 4.'
else
  echo 'error'
fi
# 注意空格。
if [[ 12 -le 10 ]]; then
  echo 'error'
else
  echo '12 is greater than 10.'
fi
# 可以通过 declare 命令设置整型属性的方法来进行算术运算。
# local 命令与此类似。

# 没有指定整型属性,输出为字符串 'a+b'。
declare a=3 b=4 c
c=a+b
echo ${c}
# 不过可以使用以下方式赋值。
c=$((a+b))
echo ${c}
# 显示 7

# 设置了整型属性就可以直接加了。
declare -i a=3 b=4 c
c=a+b
echo ${c}
# 同上。
declare -i a
a=2*3
echo ${a}
# 显示 6。

注意

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

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