Брекеты не являются шаблонами подстановочных знаков. Проверьте документацию расширений bash : фигурные скобки раскрываются очень рано, а шаблоны подстановочных знаков раскрываются на последнем шаге¹.
Первоначально команда состоит из двух слов echo, *{1..12}. После расширения распорки, команда состоит из 13 слов: echo, *1, *2, ..., *12. Затем шаблоны подстановочных знаков расширяются. *1расширяется до списка имен файлов, оканчивающихся на 1, который включает в себя не только, file1но и file11(который затем сортируется в лексикографическом порядке). Аналогично *2расширяется до file12и file2(в этом порядке). Таким образом , вы получите echo, file1, file11, file12, file2, а затем другие специальные символы , которые соответствуют один файл: file3, file4, ..., file12.
¹ Рядом с последним, если вы следуете описанию руководства, но «удаление кавычек» на самом деле не вещь - кавычки анализируются раньше, чем процесс расширения.