Comment obtenir fink
et macports
pour compléter automatiquement les noms de programme lors de la saisie de commandes, comme dans le apt-get
de Ubuntu?
Par exemple quand je tape
Sudo port install ca
et appuyez sur tab, Je veux que le terminal réalise la complétion automatique ou me montre les commandes disponibles.
OS X ne complète même pas automatiquement les commandes après Sudo
!
bash-complétion ajoute la complétion pour:
Sudo
et which
known_hosts
pour des commandes telles que ssh
CDPATH
Etc. Vous pouvez imprimer une liste de commandes d'achèvement avec complete -p
et voir la source d'une fonction avec declare -f
.
Tout d'abord, vous devez installer Homebrew ou MacPorts conformément aux instructions. Remarque: N'installez pas les deux, car ils sont en conflit.
Ensuite, installez une version plus récente de Bash. Le Bash intégré dans OS X est un peu ancien, et vous aurez plus d'options de complétion avec Bash> 4.1, que vous pourrez utiliser
brew install bash
ou
Sudo port install bash
selon que vous utilisiez Homebrew ou MacPorts.
Pour installer bash-completion
, vous devez:
brew install bash-completion
Et ajoutez ce qui suit à votre ~/.bash_profile
:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Homebrew installe actuellement une version plus ancienne de bash-completion (1.3) qui fonctionne toujours avec Bash 3.x, mais il est néanmoins recommandé d’utiliser Bash 4.x.
Avec MacPorts:
Sudo port install bash-completion
Ensuite, ajoutez à votre ~/.bash_profile
:
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
. /opt/local/etc/profile.d/bash_completion.sh
fi
Consultez trac.macports.org/wiki/howto/bash-completion pour savoir comment activer la complétion pour les noms de port.