专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

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

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/17 13:33:10       共计:3624 浏览
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
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:Python pathlib模块用法详解 | ·下一条:Shell (()):对整数进行数学运算

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有