我刚刚偶然发现了 bash 语法:
foo=42
bar=$[foo+1] # evaluates an arithmetic expression
当我用谷歌搜索这个时,我发现http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_04.html#sect_03_04_05:
3.4.6。算术扩展
算术展开允许计算算术表达式并替换结果。算术展开式的格式为:
$(( EXPRESSION ))
...
只要有可能,Bash 用户应该尝试使用带有方括号的语法:
$[ EXPRESSION ]
但是,这只会计算 EXPRESSION 的结果,并且不会进行测试......
在我的 bash 手册页中我只能找到$(( EXPRESSION ))
形式如:
foo=42
bar=$((foo+1)) # evaluates an arithmetic expression
那么哪些测试不执行$[...]
与$((...))
,或者是$[...]
只是一个旧版本$((...))
?
bash v3.2.48 的联机帮助页显示:
[...]算术展开式的格式为:
$((expression))
The 旧格式 $[表达式] 已弃用并将在即将推出的版本中删除
bash 的。
So $[...]
是不应再使用的旧语法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)