Pet*_*r.O 9 shell bash control-flow
这是错误还是功能?
对于未引用的字母数字,似乎会发生这种情况。
运行 GNU bash,版本 4.1.5
for alpha01234; do echo $((++i)); done
Run Code Online (Sandbox Code Playgroud)
输出:
1
2
3
4
Run Code Online (Sandbox Code Playgroud)
man*_*ork 14
这是for复合命令的一个特性,如下所述help for:
for: for NAME [in WORDS ... ] ; do COMMANDS; done为列表中的每个成员执行命令。
该
for循环为项目列表中的每个成员执行一系列命令。如果in WORDS ...;不存在,则in "$@"假定。对于 中的每个元素WORDS,NAME都设置为该元素,并COMMANDS执行 。
因此,您引用的代码可能是在使用 4 个参数调用的脚本中执行的。