【发布时间】:2015-12-28 13:51:33
【问题描述】:
最近发现一段代码让我很困惑:
typeset _Var=''
for _Var
do
... a command
done
谁能解释这个循环通过一个空的值列表是如何工作的?
非常感谢您的任何帖子。
【问题讨论】:
-
其实不然!!
-
typeset _Var=''中的空字符串是红鲱鱼。 for 关键字将为 _Var 提供其他值,显式使用 in 关键字,或隐式使用 out。见下文。 -
那是因为
for x+ newline(!) +do等价于 POSIX shellfor x in "$@"; do。请注意,您 不能 使用for x; do,因为某些 shell 会错误地解析它。来源:GNU autoconf texinfo 手册,关于可移植外壳的部分。