O source
ajuda a escapar desse mistério:
source: source filename [arguments]
Read and execute commands from FILENAME and return. The pathnames
in $PATH are used to find the directory containing FILENAME. If any
ARGUMENTS are supplied, they become the positional parameters when
FILENAME is executed.
o que significa que quando você alimenta uma lista de nomes de arquivos gerados através de um glob, apenas o primeiro é originado, enquanto todos os nomes de arquivos depois são considerados seus argumentos. Para obter todos os arquivos em seu diretório de conclusão, você precisará fazer um loop, isto é,
for f in "$(brew --prefix)"/etc/bash_completion.d/*; do source "$f"; done
No entanto , à medida que você usa a conclusão do bash de homebrew, há uma maneira muito melhor: simplesmente
source "$(brew --prefix)"/etc/bash_completion
que se encarregará de pesquisar qualquer coisa encontrada nos diretórios de conclusão pertinentes, ao mesmo tempo em que adicionará uma infinidade de conclusões úteis por si só.