В каком порядке цикл bash FOR IN захватывает файлы в папке?

Скажем, у меня есть цикл ниже:

for i in /apps/textfiles/*.txt do do something done 

Теперь скажем, что у меня есть 50 файлов внутри / apps / textfiles /

В каком порядке будут выбраны файлы?

  • Как скопировать файлы изображений, имена которых не заканчиваются размером их разрешения?
  • Соответствие шаблону ls
  • Почему grep обрабатывает строку ebug 'по-разному?
  • Как вывести количество всех файлов с «tty» в имени файла в каталоге Linux, где хранятся файлы на системных устройствах
  • ! (*. sh) работает в командной строке, но не в скрипте
  • tar "--exclude-from" double star wildcard
  • Как использовать логический ИЛИ в поиске?
  • найти только первое появление, используя только grep
  • One Solution collect form web for “В каком порядке цикл bash FOR IN захватывает файлы в папке?”

    Расширение имени файла в Bash сортируется по алфавиту .

    Из руководства Bash:

    Bash сканирует каждое слово для символов ' * ', ' ? 'и' [ '. Если появляется один из этих символов, это слово рассматривается как шаблон и заменяется алфавитно отсортированным списком имен файлов, соответствующих шаблону […].

    Здесь не имеет значения, что ваш контекст глобуса является частью цикла for .

    Обратите внимание: алфавитная сортировка по-прежнему подчиняется порядку сортировки, определяемому переменной LC_COLLATE :

    LC_COLLATE

    Эта переменная определяет порядок сортировки, используемый при сортировке результатов расширения имени файла, и определяет поведение выражений диапазона, классов эквивалентности и последовательности сортировки в расширении имени файла и сопоставлении с образцом (см. Расширение имен файлов).

    Linux и Unix - лучшая ОС в мире.