$[a-b] 和 $((a-b)) 在 bash 中的区别
difference between $[a-b] and $((a-b)) in bash
我不认识这个运算符 $[],也找不到相关信息。但是我知道接下来的两个代码给出相同的输出
a=4
b=1
echo $[a-b] # => 3
和
a=4
b=1
echo $((a-b)) # => 3
那么 $[] 运算符是做什么用的,和 $(()) 有什么区别?
在我的 zsh shell 提示符中,当我打开其中任何一个但没有关闭它们时,我写了 mathsubst。
阅读 man bash
说旧格式 $[expression]
已弃用并将被删除。否则它们应该是等价的。
Arithmetic expansion allows the evaluation of an arithmetic expression
and the substitution of the result. The format for arithmetic
expansion is:
$((expression))
The old format $[expression]
is deprecated and will be removed in
upcoming versions of bash.
我不认识这个运算符 $[],也找不到相关信息。但是我知道接下来的两个代码给出相同的输出
a=4
b=1
echo $[a-b] # => 3
和
a=4
b=1
echo $((a-b)) # => 3
那么 $[] 运算符是做什么用的,和 $(()) 有什么区别?
在我的 zsh shell 提示符中,当我打开其中任何一个但没有关闭它们时,我写了 mathsubst。
阅读 man bash
说旧格式 $[expression]
已弃用并将被删除。否则它们应该是等价的。
Arithmetic expansion allows the evaluation of an arithmetic expression and the substitution of the result. The format for arithmetic expansion is:
$((expression))
The old format
$[expression]
is deprecated and will be removed in upcoming versions of bash.