En Bash, il effectue la fonction readline complete-into-braces
.
L'expansion d'accolades est un moyen utile d'abréger une référence à plusieurs fichiers.
Par exemple :
ls -l /chemin/vers/dir/*.{c,h}
afficherait tous les fichiers se terminant par ".c" ou ".h".
D'après man bash
:
complete-into-braces (M-{)
Effectue la complétion de nom de fichier et insère la liste des complétions possibles entre des accolades pour que la liste soit disponible pour l'interpréteur de commandes (voir l'expansion d'accolades ci-dessus).
et
Expansion d'accolades
L'expansion d'accolades est un mécanisme par lequel des chaînes arbitraires peuvent être générées. Ce mécanisme est similaire à l'expansion de chemin d'accès, mais les noms de fichiers générés n'ont pas besoin d'exister. Les motifs à élargir par accolades prennent la forme d'un préambule facultatif, suivi soit d'une série de chaînes séparées par des virgules, soit d'une expression de séquence entre une paire d'accolades, suivie d'un post-scriptum facultatif. Le préambule est préfixé à chaque chaîne contenue entre les accolades, et le post-scriptum est ensuite ajouté à chaque chaîne résultante, en s'étendant de gauche à droite.
Les expansions d'accolades peuvent être imbriquées. Les résultats de chaque chaîne élargie ne sont pas triés ; l'ordre de gauche à droite est préservé. Par exemple, a{d,c,b}e s'étend en `ade ace abe'.
La complétion, par définition, complète donc elle fonctionne avec des fichiers qui commencent par une chaîne.