Gibt es eine Möglichkeit, die Groß- / Kleinschreibung des Bash-Tabs unempfindlich zu machen?
$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.
Ich verwende Mac OS X 10.6
macos
command-line
bash
shell
Jeffrey Aylesworth
quelle
quelle
/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.^X ^R
zum Nachladeninputrc
bind "set completion-ignore-case on"
die Befehlszeile tun ; denn ich glaube, nur diese TerminalsitzungMit 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:
/etc/inputrc
Datei (gilt systemweit, Änderung erforderlichsudo
)und / oder eine
~/.inputrc
Datei (benutzerspezifisch)und / oder
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
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:
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 integriertebind
Element übergeben :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.quelle
cd
Befehle. Das löst diese Frage und erspart mir auch Tausende von Tastenanschlägen. :)show-all-if-ambiguous
. Gibt es jedoch, da Sie "als Alternative" sagen, tatsächlich einen Vorteilbind
, wenn dieinputrc
Dateien dies unnötig erscheinen lassen?inputrc
, aber ich habe~/.inputrc
diese und andere wirklich nützliche Direktiven glücklich erstellt und hinzugefügt. Ich vermute, wir gehen davon aus, dass alle Leser wissen, dass dies/etc/inputrc
Auswirkungen auf andere Benutzer hat (es sei denn, diese überschreiben die betroffenen Einstellungen). Nur während wir Vorbehalte erwähnen;)Um zu vermeiden, dass die Konfiguration für alle Benutzer geändert wird, und um Root-Berechtigungen zu vermeiden, verwenden Sie Folgendes:
Melden Sie sich dann erneut an oder laden Sie ~ / .inputrc erneut
quelle