bash-conclusão adiciona conclusão para:
- Nomes de comando após
sudo
ewhich
- Nomes de pacotes Macports e Homebrew (opcional)
- Nomes de host
known_hosts
para comandos comossh
- Pastas ativadas
CDPATH
E assim por diante. Você pode imprimir uma lista de comandos de conclusão complete -p
e ver a fonte de uma função com declare -f
.
Instalando Homebrew ou MacPorts and Bash
Primeiro, você deve instalar o Homebrew ou MacPorts de acordo com as instruções. Nota: Não instale os dois, pois eles conflitam.
Em seguida, instale uma versão mais recente do Bash. O Bash interno no OS X é um pouco antigo e você terá mais opções de conclusão com o Bash> 4.1, que você pode acessar
brew install bash
ou
sudo port install bash
dependendo se você usa o Homebrew ou o MacPorts.
Instalando a conclusão do bash com o Homebrew
Para instalar bash-completion
, você precisa:
brew install bash-completion
E adicione o seguinte ao seu ~/.bash_profile
:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Atualmente, o Homebrew instala uma versão mais antiga do bash-conclusão (1.3) que ainda funciona com o Bash 3.x, mas ainda assim, é recomendável usar o Bash 4.x.
Instalando o bash-complete com MacPorts
Com o MacPorts:
sudo port install bash-completion
Em seguida, adicione ao seu ~/.bash_profile
:
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
. /opt/local/etc/profile.d/bash_completion.sh
fi
Consulte trac.macports.org/wiki/howto/bash-completion para obter instruções sobre como habilitar a conclusão para nomes de portas.
bash-completion
pacote MacPorts fornece suporte para a conclusão de nomes de pacotes como argumentos adicionais depoisport <verb>
. Veja aqui , linhas 48-58. Esse comportamento é sugerido no wiki do MacPorts , que declara: " Isso não é apenas para arquivos e diretórios, mas também para os comandos deport
. Então você digitaport <Tab>
e obtém uma lista de todos os comandos possíveis. ", Embora apenas mencione explicitamente conclusão dos verbos (que é muito mais simples).variants.conf
não é para conclusão do próprio MacPorts; variantes.conf define variantes a serem definidas automaticamente para todas as portas, conforme explicado na página wiki que você vinculou. A adição dessa linha faz com que o suporte à conclusão do bash seja ativado quando possível para as portas instaladas.make
preenchimento automático, exatamente o que eu queria.