let

let

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

概要

let arg [arg ...]

主要用途

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

参数

arg:算术表达式

返回值

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

运算符优先级递减表

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

例子

# 尝试直接在终端中执行算术表达式(就像在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。

注意

  1. 该命令是bash内建命令,相关的帮助信息请查看help命令。
  2. 执行算术计算的命令除了let,还有外部命令exprbc等。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/let/

(0)
AuroraAurora站点维系者
上一篇 2023年 12月 19日 下午4:27
下一篇 2023年 12月 19日 下午4:27

相关推荐

  • popd

    文章目录popd概要主要用途选项参数返回值例子注意参考链接 popd 从目录堆栈中删除目录。 概要 popd [-n] [+N | -N] 主要用途 从目录堆栈中删除目录,如果是顶…

    入门教程 2024年 3月 1日
  • continue

    文章目录continue概要主要用途参数返回值例子注意 continue 结束本次循环,继续执行下一个for,while或until循环。 概要 continue [n] 主要用途…

    入门教程 2023年 12月 7日
  • rmdir

    文章目录rmdir补充说明语法选项参数实例 rmdir 用来删除空目录 补充说明 rmdir命令 用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使…

    入门教程 2024年 3月 4日
  • modprobe

    文章目录modprobe补充说明语法选项参数实例 modprobe 自动处理可载入模块 补充说明 modprobe命令 用于智能地向内核中加载模块或者从内核中移除模块。 modpr…

    入门教程 2024年 1月 3日
  • bzip2recover

    文章目录bzip2recover补充说明语法参数 bzip2recover 恢复被破坏的.bz2压缩包中的文件 补充说明 bzip2recover命令 可用于恢复被破坏的“.bz2…

    入门教程 2023年 12月 6日
  • 30. 错误处理

    欢迎来到 Golang 系列教程的第 30 篇。 文章目录什么是错误?示例错误类型的表示从错误获取更多信息的不同方法1. 断言底层结构体类型,使用结构体字段获取更多信息2. 断言底…

    入门教程 2023年 12月 5日
  • ntpdate

    文章目录ntpdate补充说明语法选项 ntpdate 使用网络计时协议(NTP)设置日期和时间 补充说明 ntpdate命令 是用来设置本地日期和时间。它从指定的每个服务器获得了…

    入门教程 2024年 1月 10日
  • dmesg

    文章目录dmesg补充说明语法选项实例 dmesg 显示Linux系统启动信息 补充说明 dmesg命令 被用于检查和控制内核的环形缓冲区。kernel会将开机信息存储在ring …

    入门教程 2023年 12月 7日
  • scriptreplay

    文章目录scriptreplay补充说明语法选项参数实例 scriptreplay 重新播放终端会话的所有操作 补充说明 scriptreplay 用于在终端中,根据 script…

    入门教程 2024年 3月 4日
  • fc

    文章目录fc概要主要用途选项参数返回值例子注意 fc 显示历史列表中的命令或修改指定的历史命令并执行。 概要 fc [-e ename] [-lnr] [first] [last]…

    入门教程 2023年 12月 14日

发表回复

登录后才能评论
Translate »