Bash-Vervollständigung fügt Vervollständigung hinzu für:
- Befehlsnamen nach
sudo
undwhich
- Paketnamen für Macports und Homebrew (optional)
- Hostnamen in
known_hosts
für Befehle wiessh
- Ordner auf
CDPATH
Und so weiter. Mit können Sie eine Liste der Vervollständigungsbefehle ausdrucken complete -p
und mit die Quelle einer Funktion anzeigen declare -f
.
Installieren von Homebrew oder MacPorts und Bash
Zuerst müssen Sie Homebrew oder MacPorts gemäß den Anweisungen installieren . Hinweis: Installieren Sie nicht beide, da dies zu Konflikten führt.
Installieren Sie dann eine neuere Version von Bash. Die in OS X integrierte Bash-Funktion ist ein bisschen alt, und mit Bash> 4.1 erhalten Sie mehr Optionen für die Vervollständigung, die Sie durchstehen können
brew install bash
oder
sudo port install bash
abhängig davon, ob Sie Homebrew oder MacPorts verwenden.
Bash-Vervollständigung mit Homebrew installieren
Um zu installieren bash-completion
, müssen Sie:
brew install bash-completion
Und fügen Sie Folgendes hinzu ~/.bash_profile
:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Homebrew installiert derzeit eine ältere Version von Bash-Completion (1.3), die weiterhin mit Bash 3.x funktioniert. Es wird jedoch weiterhin empfohlen, Bash 4.x zu verwenden.
Installieren der Bash-Vervollständigung mit MacPorts
Mit MacPorts:
sudo port install bash-completion
Fügen Sie dann Folgendes hinzu ~/.bash_profile
:
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
. /opt/local/etc/profile.d/bash_completion.sh
fi
Anweisungen zum Aktivieren der Vervollständigung für Portnamen finden Sie unter trac.macports.org/wiki/howto/bash-completion .
bash-completion
Paket von MacPorts bietet Unterstützung für die Vervollständigung von Paketnamen als zusätzliche Argumente nachport <verb>
. Siehe hier , Zeilen 48-58. Dieses Verhalten wird im MacPorts-Wiki angedeutet , in dem es heißt: " Dies gilt nicht nur für Dateien und Verzeichnisse, sondern auch z. B. für die Befehle vonport
. Sie geben alsoport <Tab>
alle möglichen Befehle ein und erhalten eine Liste. ", Obwohl dies nur explizit erwähnt wird Vervollständigung der Verben (was viel einfacher ist).variants.conf
ist nicht für MacPorts selbst vorgesehen. variant.conf definiert Varianten, die automatisch für alle Ports festgelegt werden, wie auf der von Ihnen verknüpften Wiki-Seite erläutert. Wenn Sie diese Zeile hinzufügen, wird die Unterstützung für die Bash-Vervollständigung aktiviert, sofern dies für die von Ihnen installierten Ports möglich ist.make
automatische Vervollständigung, genau das, was ich wollte.