在解释算术展开式的段落中,Bash 的用户指南揭示了计算表达式的两种不同方式,第一种使用$(( EXPRESSION ))
,第二种使用$[ EXPRESSION ]
。这两种方式看起来非常相似,我发现的唯一区别是:
$[ EXPRESSION ]
只会计算 EXPRESSION 的结果,不做任何测试:
然而,我很感兴趣,因为同一份文档建议使用$[ EXPRESSION ]
而不是$(( EXPRESSION ))
.
只要有可能,Bash 用户应该尝试使用带有方括号的语法:
如果进行的测试较少,您为什么要这样做?
答案1
重复问题(附答案)
https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression
bash v3.2.48 的联机帮助页显示:
[...]算术展开式的格式为:
$((expression))
这旧格式 $[表达式] 已弃用并将在即将推出的 bash 版本中删除。
所以 $[...] 是旧语法,不应再使用
除了这个答案之外:
http://manual.cream.org/index.cgi/bash.1#27
与 bash 版本相关的信息:
以下是有关 bash 手册页的一些信息(很难找到每个手册页所指版本的信息):
OP链接:
http://www.tldp.org/guides.html Bash 初学者指南 版本:1.11 作者:Machtelt Garrels,最后更新:2008 年 12 月
sth(74.6k 代表)引用 bash v3.2.48
从https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression)
注意:有关 [] 与 (()) 的更多信息请参见此处:http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00033.html
我找到的一个链接:
http://www.gnu.org/software/bash/manual/ 最后更新时间:2012 年 8 月 22 日
http://www.gnu.org/software/bash/manual/bash.html#Arithmetic-Expansion