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

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

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

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

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

One Solution collect form web for “В каком порядке цикл bash FOR IN захватывает файлы в папке?”

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

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

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

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

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

LC_COLLATE

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

  • Заменить слово на основе первых n символов
  • Соответствие IP-адреса в указанном диапазоне с помощью awk
  • Как вы перемещаете все файлы (включая скрытые) из одного каталога в другой?
  • regex - поиск только пар символов
  • Команда scp ведет себя по-разному при использовании с функцией expect
  • cp скрытые файлы с шаблонами glob
  • Bash Globbing не так, как ожидалось
  • Скопируйте все точечные файлы, кроме `.git` и` ..`
  • Как включить несколько конфигурационных файлов в php-fpm?
  • Использовать glob оболочки *, но исключить один файл и не совпадать с каталогами?
  • Почему grep обрабатывает строку ebug 'по-разному?
  • Linux и Unix - лучшая ОС в мире.