在解释算术扩展的段落中,Bash 的用户指南揭示了两种评估表达式的不同方法,第一种使用$((?EXPRESSION?))
,第二种使用$[?EXPRESSION?]
. 这两种方式看起来非常相似,因为我发现的唯一区别是:
$[?EXPRESSION?]
只会计算 EXPRESSION 的结果,不做测试:
然而,我很感兴趣,因为同一份文档建议使用$[?EXPRESSION?]
而不是$((?EXPRESSION?))
.
在可能的情况下,Bash 用户应该尝试使用带方括号的语法:
如果进行的测试较少,您为什么要这样做?
小智 5
bash v3.2.48 的联机帮助页说:
[...] 算术扩展的格式是:
Run Code Online (Sandbox Code Playgroud)$((expression))
在老格式$ [表达]已被弃用,并且将在bash的即将到来的版本中删除。
所以 $[...] 是不应再使用的旧语法
http://manual.cream.org/index.cgi/bash.1#27
以下是有关 bash 手册页的一些信息(很难找到有关每个手册页所指版本的信息):
http://www.tldp.org/guides.html Bash 初学者指南版本:1.11 作者:Machtelt Garrels,最后更新:2008 年 12 月
注意:有关 [] 与 (()) 的更多信息: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