【发布时间】:2014-06-03 04:03:54
【问题描述】:
如何修改以下代码,以便在 zsh 中运行时扩展 $things 并一次遍历它们?
things="one two"
for one_thing in $things; do
echo $one_thing
done
我希望输出是:
one
two
但如上所述,它输出:
one two
(我正在寻找您在 bash 中运行上述代码时得到的行为)
【问题讨论】:
-
这是否意味着当
zsh是for循环的列表时,$things不是分词?它是否只进入循环体一次?回答,通过配置脚本战斗后,是“是”。从可用的 shell 列表中划掉zsh;这太像非POSIX-shell了。我什至懒得开始思考如何配置它以“正常”工作。 -
你可能不喜欢它,但这种行为完全符合 POSIX,据我所知,这是 sh shell 的预期行为。
标签: while-loop zsh expansion