bash中$ [a-b]和$((a-b))之间的差异

时间:2016-12-10 23:30:58

标签: bash math operator-keyword

我不知道这个运算符$ []并且找不到它的相关信息。但是我知道接下来的两个代码会给出相同的输出

a=4
b=1
echo $[a-b] # => 3

a=4
b=1
echo $((a-b)) # => 3

那么$ []运算符是什么,与$(())有什么区别?

在我的zsh shell提示符中,当我打开其中任何一个并且没有关闭它们时,我写了 mathsubst

1 个答案:

答案 0 :(得分:5)

阅读Graphics表示旧格式man bash已弃用,将被删除。否则它们应该是等价的。

  

算术扩展允许评估算术表达式   并取代结果。算术格式   扩展是:

$[expression]
     

旧格式 $((expression)) 已弃用,将被删除   即将推出的bash版本。