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

11个月前 (04-27)
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网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />