gpt4 book ai didi

bash:$[<算术表达式>] 与 $((<算术表达式>))

转载 作者:行者123 更新时间:2023-11-29 08:42:42 26 4
gpt4 key购买 nike

我刚刚偶然发现了 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. Arithmetic expansion

Arithmetic expansion allows the evaluation of an arithmetic expression and the substitution of the result. The format for arithmetic expansion is:

$(( EXPRESSION )) 

...

Wherever possible, Bash users should try to use the syntax with square brackets:

$[ EXPRESSION ] 

However, this will only calculate the result of EXPRESSION, and do no tests...

在我的 bash 手册页中,我只能找到 $(( EXPRESSION )) 形式,例如:

foo=42
bar=$((foo+1)) # evaluates an arithmetic expression

那么哪些测试不是用 $[...] 执行的,而是用 $((...)) 执行的,或者是 $[ ...] 只是 $((...)) 的遗留版本?

最佳答案

bash v3.2.48 的联机帮助页说:

[...] The format for arithmetic expansion is:

     $((expression))

The old format $[expression] is deprecated and will be removed in upcoming versions of bash.

所以 $[...] 是不应该再使用的旧语法。

关于bash:$[<算术表达式>] 与 $((<算术表达式>)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2415724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com