我刚刚偶然发现了 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
那么,哪些测试没有被执行$[...]
,$((...))
或者$[...]
只是一个遗留版本$((...))
?