Shell学习 - 2.24 Shell let命令:对整数进行数学运算

let 命令和双小括号 (( )) 的用法是类似的,它们都是用来对整数进行运算,读者已经学习了《Shell (())》,再学习 let 命令就相当简单了。
注意:和双小括号 (( )) 一样,let 命令也只能进行整数运算,不能对小数(浮点数)或者字符串进行运算。
Shell let 命令的语法格式为:
let 表达式
或者
let "表达式"
或者
let '表达式'
它们都等价于((表达式))。
当表达式中含有 Shell 特殊字符(例如 |)时,需要用双引号" "或者单引号' '将表达式包围起来。
和 (( )) 类似,let 命令也支持一次性计算多个表达式,并且以最后一个表达式的值作为整个 let 命令的执行结果。但是,对于多个表达式之间的分隔符,let 和 (( )) 是有区别的:
  • let 命令以空格来分隔多个表达式;
  • (( )) 以逗号,来分隔多个表达式。
另外还要注意,对于类似let x+y这样的写法,Shell 虽然计算了 x+y 的值,但却将结果丢弃;若不想这样,可以使用let sum=x+y将 x+y 的结果保存在变量 sum 中。
这种情况下 (( )) 显然更加灵活,可以使用$((x+y))来获取 x+y 的结果。请看下面的例子:
[c.biancheng.net]$ a=10 b=20
[c.biancheng.net]$ echo $((a+b))
30
[c.biancheng.net]$ echo let a+b  #错误,echo会把 let a+b作为一个字符串输出
let a+b
Shell let 命令实例演示
【实例1】给变量 i 加 8:
[c.biancheng.net]$ i=2
[c.biancheng.net]$ let i+=8
[c.biancheng.net]$ echo $i
10
let i+=8 等同于 ((i+=8)),但后者效率更高。
【实例2】let 后面可以跟多个表达式。
[c.biancheng.net]$ a=10 b=35
[c.biancheng.net]$ let a+=6 c=a+b  #多个表达式以空格为分隔
[c.biancheng.net]$ echo $a $c
16 51
参考:

相关推荐

  1. Shell学习 - 2.24 Shell let命令整数进行数学运算

    2024-04-08 19:42:02       35 阅读
  2. Shell学习 - 2.25 Shell $[]:整数进行数学运算

    2024-04-08 19:42:02       31 阅读
  3. Shell学习——Shell运算符

    2024-04-08 19:42:02       47 阅读
  4. Shell学习——Shell printf命令

    2024-04-08 19:42:02       24 阅读
  5. 写一个shell脚本:进入pod服务运行命令

    2024-04-08 19:42:02       44 阅读
  6. [Linux][Shell][Shell数学运算]详细讲解

    2024-04-08 19:42:02       23 阅读
  7. shell中的浮点类型数值如何进行比较运算

    2024-04-08 19:42:02       42 阅读
  8. Shell命令和基础学习

    2024-04-08 19:42:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 19:42:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 19:42:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 19:42:02       82 阅读
  4. Python语言-面向对象

    2024-04-08 19:42:02       91 阅读

热门阅读

  1. 【备忘录】Linux kill 多个进程命令备忘

    2024-04-08 19:42:02       32 阅读
  2. 实现窗口拖拽移动

    2024-04-08 19:42:02       32 阅读
  3. 后端开发教程

    2024-04-08 19:42:02       31 阅读
  4. 【TypeScript系列】声明文件

    2024-04-08 19:42:02       34 阅读
  5. 单片机数码管程序

    2024-04-08 19:42:02       34 阅读
  6. go channel 的底层实现原理 (数据结构)

    2024-04-08 19:42:02       41 阅读
  7. 蜗牛-蓝桥每日真题

    2024-04-08 19:42:02       30 阅读
  8. c模板编程c/c++20240401

    2024-04-08 19:42:02       25 阅读
  9. SCP收容物999

    2024-04-08 19:42:02       35 阅读
  10. PTA C 1044 火星文翻译

    2024-04-08 19:42:02       42 阅读
  11. ES-7.12-官网阅读-ILM-index lifecycle actions

    2024-04-08 19:42:02       37 阅读