Isso porque o padrão glob [A-Z]
geralmente não corresponde a letras maiúsculas. Especificamente, expande de acordo com
the current locale's collating sequence and character set
Se você deseja arquivos que começam com uma letra maiúscula, você pode usar
echo [[:upper:]]*
ou defina a localidade explicitamente
(LC_COLLATE=C; echo [A-Z]*)
ou use a opção bash globasciiranges
shell
(shopt -s globasciiranges; echo [A-Z]*)
Veja a seção Pattern matching
de man bash