Mit im Nachhinein neu strukturierte die Vor- und Nachteile der Verwendung , um den Kontrast [.]inputrc
gegenüber .bash_profile
.
Tipp des Hutes an underscore_d für seine Hilfe.
Hinweis: Die Befehlszeilenbearbeitung in Bash wird von der Readline-Bibliothek bereitgestellt. Das Anpassen ist nicht trivial, aber es lohnt sich zu lernen. Zu seinen Funktionen gehört die Möglichkeit, benutzerdefinierte Tastaturkürzel zum Einfügen vordefinierter Textausschnitte zu definieren - siehe Bearbeiten der Befehlszeile im Bash-Referenzhandbuch
Um beharrlich Tab-Vervollständigung Groß- und Kleinschreibung in Bash machen:
Option A: Wenn Sie entweder bereits haben:
Sie planen, die readline-Bibliothek umfassend anzupassen und / oder Anpassungen auch für Skripte wirksam zu machen, wenn diese aufgerufen werden read -e
:
Zeile hinzufügen
set completion-ignore-case on
zu jeder Datei, je nachdem , ob Sie die Einstellung wollen wirksam sein alle Benutzer oder den aktuellen Benutzer (erstellen Sie die Datei, falls erforderlich).
Ein verwandter Befehl, der das Vervollständigen von Datei- und Verzeichnisnamen erleichtert, ist:
set show-all-if-ambiguous on
Dies macht es unnötig, zweimal die Tabulatortaste zu drücken, wenn mehr als eine Übereinstimmung vorliegt.
Option B: Alternativ können Sie Ihrer benutzerspezifischen ~/.bash_profile
Datei unter OS X (oder ~/.bashrc
Linux) Readline-Befehle hinzufügen , indem Sie sie als einzelnes Argument an das integrierte bind
Element übergeben :
bind "set completion-ignore-case on"
bind "set show-all-if-ambiguous on"
Beachten Sie, dass bind
Befehle in ~/.bash_profile
/ ~/.bashrc
Vorrang vor entsprechenden Befehlen in /etc/inputrc
oder haben ~/.inputrc
.
Wie oben angedeutet, auf diese Weise definierte Readline - Konfiguration wird nicht Effekt in nehmen Skripte , die rufen read -e
zum Lesen von Benutzereingaben Readline - Unterstützung zu aktivieren.
/etc/inputrc
oder~/.inputrc
eine Datei, die mit gekennzeichnet ist,INPUTRC
sind die einzigen Orte, an die es gehen kann. Die Eingabe an einer Bash-Eingabeaufforderung funktioniert nicht.