为什么这种括号语法有效
$ for (( i=0; i<3; ++i )) { echo $i; }
0
1
2
当手册页说语法是
for (( expr1 ; expr2 ; expr3 )) ; do list ; done
$ bash --version | head -1 # on linux mint virginia (ubuntu jammy)
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
如果这是一个尚未记录的语法添加,那么它是什么时候添加的?
解析器语法
...自 2001 年左右以来一直处于空壳状态。
版本
bash-2.04
引入了几个算术运算符和算术 for 循环for
(来自 ksh93)。您提到的算术循环的具体形式是在 中引入的bash-2.05
。它的引入从未在 shell 的变更日志中明确提及。当前的 Bash 维护者 Chet对此进行了如下评论: