UNPKG

2.54 kBMarkdownView Raw
1let
2===
3
4简单的计算器,执行算术表达式。
5
6## 概要
7
8```shell
9let arg [arg ...]
10```
11
12## 主要用途
13
14- 执行一个或多个算术表达式。
15
16## 参数
17
18arg:算术表达式
19
20## 返回值
21
22`let`最后一个执行的表达式的计算结果为0时返回`1`,否则返回`0`
23`let`执行的表达式的除数为0时,返回`1`并报错。
24
25## 运算符优先级递减表
26
27|**运算符**|**描述**|
28|:-------:|:-------:|
29|```id++, id--```|```变量后增量、变量后减量```|
30|```++id, --id```|```变量预增量、变量预减量```|
31|```-, +```|```正号、负号```|
32|```!, ~```|```逻辑否、按位取反```|
33|```**```|```幂运算```|
34|```*, /, %```|```乘法、除法、取余```|
35|```+, -```|```加法、减法```|
36|```<<, >>```|```按位左移、右移```|
37|```<=, >=, <, >```|```比较```|
38|```==, !=```|```等于、不等于```|
39|```&```|```按位与```|
40|```^```|```按位异或```|
41|```\|```|```按位或```|
42|```&&```|```逻辑与```|
43|```\|\|```|```逻辑或```|
44|```expr ? expr : expr```|```条件运算符(三元运算符)```|
45|```=, *=, /=, %=, +=, -=,```<br>```<<=, >>=, &=, ^=, \|=```|```赋值```|
46
47
48## 例子
49
50```shell
51# 尝试直接在终端中执行算术表达式(就像在python的IDLE)。
523+4
53bash:3+4:command not found...
54# 换一种方式。
553 + 4
56bash:3:command not found...
57# 看来不行。
58```
59
60```shell
61# let命令赋值。
62let a=3**4
63echo ${a}
64# 显示81。
65# ((...))和let命令等效。
66((a=3**4))
67```
68
69```shell
70# let常用于变量赋值,而外部命令expr可直接返回表达式的值。
71let 3+4
72# 没有显示7。
73# 执行后显示7,注意空格。
74expr 3 + 4
75```
76
77```shell
78# 条件表达式。
79if ((8>4)); then
80 echo '8 is greater than 4.'
81else
82 echo 'error'
83fi
84# 注意空格。
85if [[ 12 -le 10 ]]; then
86 echo 'error'
87else
88 echo '12 is greater than 10.'
89fi
90```
91
92```shell
93# 可以通过declare命令设置整型属性的方法来进行算术运算。
94# local命令与此类似。
95
96# 没有指定整型属性,输出为字符串'a+b'。
97declare a=3 b=4 c
98c=a+b
99echo ${c}
100# 不过可以使用以下方式赋值。
101c=$((a+b))
102echo ${c}
103# 显示7
104
105# 设置了整型属性就可以直接加了。
106declare -i a=3 b=4 c
107c=a+b
108echo ${c}
109# 同上。
110declare -i a
111a=2*3
112echo ${a}
113# 显示6。
114```
115
116### 注意
117
1181. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
119
1202. 执行算术计算的命令除了`let`,还有外部命令`expr``bc`等。
121
122<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->