No Bash, ele executa a função readline complete-into-braces
.
A expansão entre chaves é uma maneira útil de abreviar uma referência a vários arquivos.
Por exemplo:
ls -l /path/to/dir/*.{c,h}
listaria todos os arquivos que terminam em ".c" ou ".h".
De man bash
:
complete-in-chaves (M- {)
Execute a conclusão do nome do arquivo e insira a lista de possíveis preenchimentos entre chaves, para que a lista fique disponível para o shell (consulte Expansão de chaves acima).
e
Expansão de
chaves A expansão de chaves é um mecanismo pelo qual seqüências de caracteres arbitrárias podem ser geradas. Esse mecanismo é semelhante à expansão do nome do caminho, mas os nomes de arquivos gerados não precisam existir. Os padrões a serem expandidos entre colchetes assumem a forma de um preâmbulo opcional, seguido por uma série de cadeias separadas por vírgula ou uma expressão de sequência entre um par de colchetes, seguido de um postscript opcional. O preâmbulo é prefixado para cada string contida entre chaves, e o postscript é anexado a cada string resultante, expandindo da esquerda para a direita.
As expansões de chaves podem ser aninhadas. Os resultados de cada sequência expandida não são classificados; a ordem da esquerda para a direita é preservada. Por exemplo, a {d, c, b} e se expande para `ade ace abe '.
A conclusão, por definição, é concluída e, portanto, funciona com arquivos que começam com uma sequência.