【发布时间】:2016-05-17 21:45:24
【问题描述】:
假设我在 bash 中有一个 for 循环,如下所示:
for i in $MYDIR/*.jar
do
# do something with files
done
是否保证了迭代的顺序,即循环是否总是以相同的顺序处理文件?如果有保证,是按字母顺序排列的吗?
【问题讨论】:
-
顺便说一句,这通常不是关于 for 循环的问题,而是关于 glob 的问题。
for i in 9 5 3; do echo "$i"; done将按此顺序运行。 -
你问错问题了。这不是扩展您的 * 的循环。 Shell 将首先将您的 *.jar 扩展为文件列表,然后循环将遍历该文件列表。