Ich bin neu in macOS und verwende macOS Sierra,
In meinem Ubuntu- und anderen Linux-basierten System verfügt das Terminal über eine automatische Vervollständigung, die hilft, Befehle und ihre Optionen zu vervollständigen.
Zum Beispiel für wget
und andere Befehle werden zusätzlich zur Befehlsvervollständigung nach Tabzweimaligem Drücken alle Befehlsoptionen (falls vorhanden) aufgelistet, oder in sudo w
der Liste beginnen alle Befehle mit w
Aber auf meinem Mac vervollständigt es nur die ersten Befehle und hilft nicht für Optionen oder den zweiten Teil des Befehls wie whoami in sudo whoami
,
Ich meine, es wird keine Liste aller Befehle angezeigt, die mit beginnen who
, nachdem Sie Tabzweimal gedrückt habensudo who
[
Ich habe einige Skripte für git
Optionen unter https://github.com/git/git/tree/master/contrib/completion/ gefunden , aber ich möchte etwas, das dies für alle Befehle und Anwendungen tut.
Gibt es dafür eine Lösung?
Die Vervollständigungsfunktion kommt weder von einer Terminal
Anwendung noch von dem Betriebssystem, auf dem Sie arbeiten: MacOS X, Linux…
Diese Funktion wird von Ihrer Shell bereitgestellt. Um zu überprüfen, welche Ihnen die gewünschte Vervollständigungsfunktion bietet, rufen Sie einfach die Shell ab, die Sie unter Linux verwenden:
echo ${SHELL}
Ändern Sie dann Ihre Anmelde-Shell unter MacOS X mit:
chsh -s /bin/my_preferred_shell
um diejenige zu verwenden, die die gewünschte Vervollständigungsfunktion ausführt.
Überprüfen Sie, ob diese Shell existiert und ausführbar ist, und lesen Sie die Dokumentation von chsh
:
ls -ld /bin/my_preferred_shell
man chsh
Um es ohne Risiko zu testen, starten Sie Ihre Sitzung nicht neu, sondern öffnen Sie einfach ein neues Terminal. Im Fehlerfall können Sie chsh
noch einmal laufen.
Wie @Mark sagte, bash-completion
fügt das Paket diese Funktionalität dem Terminal hinzu.
MA Heshmat Khah
Dan
mmmmmm