Las llaves no son patrones comodín. Verifique la documentación de las expansiones de bash : las llaves se expanden muy temprano en el proceso y los patrones comodín se expanden en el último paso¹.
Inicialmente, el comando se compone de dos palabras echo
, *{1..12}
. Después de la expansión de llaves, el comando contiene 13 palabras: echo
, *1
, *2
, ..., *12
. Luego se expanden los patrones comodín. *1
se expande a la lista de nombres de archivo que terminan en 1
, que incluye no solo file1
sino también file11
(que se ordena luego en orden lexicográfico). Del mismo modo se *2
expande a file12
y file2
(en este orden). Para que pueda obtener echo
, file1
, file11
, file12
, file2
, y luego los otros comodines que coincidió con un solo archivo: file3
, file4
, ..., file12
.
¹ Al final, si sigue la descripción del manual, pero "eliminar citas" no es realmente una cosa: las citas se analizan antes que el proceso de expansión.
Gilles 'SO- deja de ser malvado'
fuente