Mit im Nachhinein neu strukturierte die Vor- und Nachteile der Verwendung , um den Kontrast [.]inputrcgegenü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_profileDatei unter OS X (oder ~/.bashrcLinux) Readline-Befehle hinzufügen , indem Sie sie als einzelnes Argument an das integrierte bindElement übergeben :
bind "set completion-ignore-case on"
bind "set show-all-if-ambiguous on"
Beachten Sie, dass bindBefehle in ~/.bash_profile/ ~/.bashrcVorrang vor entsprechenden Befehlen in /etc/inputrcoder haben ~/.inputrc.
Wie oben angedeutet, auf diese Weise definierte Readline - Konfiguration wird nicht Effekt in nehmen Skripte , die rufen read -ezum Lesen von Benutzereingaben Readline - Unterstützung zu aktivieren.
/etc/inputrcoder~/.inputrceine Datei, die mit gekennzeichnet ist,INPUTRCsind die einzigen Orte, an die es gehen kann. Die Eingabe an einer Bash-Eingabeaufforderung funktioniert nicht.