假设我在bash中有一个for循环,它看起来像这样:
for i in $MYDIR/*.jar
do
# do something with files
done
是否保证迭代的顺序,即循环是否总是以相同的顺序处理文件?如果有保证,订单是否按字母顺序排列?
答案 0 :(得分:2)
路径名扩展
分词后,除非设置了-f选项,否则bash会扫描 每个单词的字符*,?和[。如果其中一个字符 出现,然后这个词被视为一个模式,并替换为 按字母顺序排序的匹配模式的文件名列表(请参阅 模式匹配如下)。
因此,由于全局扩展规则,文件将以字母顺序(取决于您的语言环境,请参阅注释)进行处理。