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

kmb7vmvb  于 2023-06-30  发布在  Shell
关注(0)|答案(1)|浏览(108)

此问题已在此处有答案

bash: $[] vs. $(())(2个答案)
6年前关闭。
我不知道这个运算符$[],找不到它的相关信息。但是我知道接下来的两个代码给予了相同的输出

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

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

那么$[]运算符是干什么用的,和$(())有什么区别?
在我的zsh shell提示符中,当我打开其中任何一个而没有关闭它们时,我写了 mathsubst

l2osamch

l2osamch1#

阅读man bash表示旧格式$[expression]已被弃用并将被删除。否则,它们应该是等价的。
算术展开允许计算算术表达式并替换结果。算术展开的格式为:

$((expression))

旧格式$[expression]已被弃用,并将在即将推出的bash版本中删除。

相关问题