Відповіді:
Фігурні дужки - це не шаблонні символи. Перевірте документацію розширень bash : дужки розгортаються дуже рано в процесі, а шаблони підстановок розгортаються на останньому кроці¹.
Спочатку команда складається з двох слів echo
, *{1..12}
. Після розширення розпірки, команда складається з 13 слів: echo
, *1
, *2
, ..., *12
. Потім шаблони підстановок розширюються. *1
розширюється до списку назв файлів, що закінчуються 1
, який включає не тільки, file1
але й file11
(який сортується згодом у лексикографічному порядку). Аналогічно *2
розширюється file12
і до file2
(у цьому порядку). Таким чином , ви отримаєте echo
, file1
, file11
, file12
, file2
, а потім інші спеціальні символи , які відповідають один файл: file3
, file4
, ..., file12
.
¹ Далі останнє, якщо ви дотримуєтесь опису посібника, але "вилучення цитат" насправді не є річчю - цитати аналізуються раніше, ніж процес розширення.