bash-completamento aggiunge il completamento per:
- Nomi dei comandi dopo
sudo
ewhich
- Nomi dei pacchetti Macports e Homebrew (facoltativo)
- Nomi host
known_hosts
per comandi similissh
- Cartelle attive
CDPATH
E così via. È possibile stampare un elenco di comandi di completamento con complete -p
e vedere l'origine di una funzione con declare -f
.
Installazione di Homebrew o MacPorts e Bash
Innanzitutto, devi installare Homebrew o MacPorts secondo le istruzioni. Nota: non installare entrambi, poiché sono in conflitto.
Quindi, installa una versione più recente di Bash. Il Bash integrato in OS X è un po 'vecchio e avrai più opzioni di completamento con Bash> 4.1, che puoi superare
brew install bash
o
sudo port install bash
a seconda che utilizzi Homebrew o MacPorts.
Installazione di bash-completamento con Homebrew
Per installare bash-completion
, devi:
brew install bash-completion
E aggiungi quanto segue al tuo ~/.bash_profile
:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Homebrew attualmente installa una versione precedente di bash-completamento (1.3) che funziona ancora con Bash 3.x, ma si consiglia comunque di usare Bash 4.x.
Installazione di bash-completamento con MacPorts
Con MacPorts:
sudo port install bash-completion
Quindi, aggiungi a ~/.bash_profile
:
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
. /opt/local/etc/profile.d/bash_completion.sh
fi
Vedi trac.macports.org/wiki/howto/bash-completion per istruzioni su come abilitare il completamento per i nomi delle porte.
bash-completion
pacchetto di MacPorts fornisce supporto per il completamento dei nomi dei pacchetti come argomenti aggiuntivi dopoport <verb>
. Vedi qui , linee 48-58. Questo comportamento è accennato nel wiki di MacPorts , in cui si afferma: " Questo non è solo per file e directory, ma anche per i comandi diport
. Quindi si digitaport <Tab>
e si ottiene un elenco di tutti i possibili comandi. ", Anche se menziona solo esplicitamente completamento dei verbi (che è molto più semplice).