Veja o seguinte:
$ echo .[].aliases[]
..
$ echo .[].foo[]
..
$ echo .[].[]
..
$ echo .[].xyz[]
..
$ echo .xyz[].xyz[]
.xyz[].xyz[]
$ echo .xyz[].[]
.xyz[].[]
Aparentemente isso parece ser algo globbing, mas eu não entendo como o resultado vem junto. Do meu entendimento []
é uma classe de caracteres vazia. Seria intuitivo se
- correspondeu apenas à string vazia; nesse caso, eu esperaria que o bash reproduzisse por completo, pois nada corresponde a ele neste diretório, mas também corresponde a coisas como
..aliases
(no primeiro exemplo), - ou nada; neste caso, eu esperaria que o bash também reproduzisse a string no total.
Isso é com o GNU bash, versão 4.4.23(1)-release.