Ubuntus Terminal verwendet die automatische Vervollständigung von Groß- und Kleinschreibung, wie ich es für Linux erwartet hätte.
Aber ich denke, es wäre oft bequemer, stattdessen die Groß- und Kleinschreibung zu ignorieren, um zu vermeiden, dass Sie beim Beginnen eines Namens genau sein müssen, und wäre wahrscheinlich die zusätzlichen Fehlalarme wert. Ist es möglich, dieses Verhalten zu ändern?
command-line
bash
auto-completion
case-insensitive
mwfearnley
quelle
quelle
Antworten:
Um
bash
Groß- und Kleinschreibung für den aktuellen Benutzer nicht zu berücksichtigen:Führen Sie das folgende Shell-Skript in einem Terminal aus:
Starten Sie eine neue Shell (öffnen Sie das Terminal erneut).
So nehmen Sie die Änderungen systemweit vor:
Einzelheiten finden Sie unter
man bash
. Ja, es ist eine lange Seite, aber bash ist ein etwas komplexes Programm, und wenn Sie diese Seite nur nach Groß- und Kleinschreibung durchsuchen möchten, gehen Sie zum entsprechenden Abschnitt. In der Regel lernen die Teilnehmer, jeweils eine Option oder ein Bash-Skript zu verwenden, und es dauert lange, bis sie alle Nuancen beherrschen. Ihr Interesse kann variieren.quelle
>>
auch sicherer als>
?$include /etc/inputrc
undset completion-ignore-case on
sollte in Ihrer ~ ..inputrc-Datei sein.Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein:
Passwort eingeben. Terminal neu starten.
Wenn Sie in einigen Fällen die Groß- / Kleinschreibung nicht berücksichtigen möchten, bearbeiten Sie einfach die Datei / etc / inputrc, indem Sie die
set completion-ignore-case
Zeile entfernen .Das ist alles.
quelle
Ich weiß, dass diese Frage sehr alt ist, aber es sei denn, ich vermisse etwas, ich glaube, ich habe eine super einfache Lösung, wenn Sie Bash verwenden.
Oder fügen Sie die Zeile einfach mit Ihrem bevorzugten Texteditor hinzu. Starten Sie Ihre Bash-Sitzung neu und genießen Sie.
quelle
~/.inputrc
wird von readline gelesen, was bash verwendet, um diese Vervollständigung bereitzustellen. Readline- wird auch von anderen Programmen verwendet, so, denn dies ist im Allgemeinen Einstellung,~/.inputrc
wie vorgeschlagen die akzeptierte Antwort wäre besser.bind 'set completion-ignore-case on'
.bashrc
Sie können dies tun, indem Sie eine Konfigurationsvariable für GNU readline festlegen, die die Eingabe in einer interaktiven Shell verarbeitet.
Die benötigte Variable ist
completion-ignore-case
und kann direkt in Ihrer Bash-Sitzung festgelegt werden mit:Es kann für alle zukünftigen Bash-Sitzungen aktiviert werden, indem es in die Benutzerdatei
~/.inputrc
oder in das System gestellt/etc/inputrc
wird, um es für alle Benutzer zu aktivieren. Dies ist die Initialisierungsdatei für readline.Aber beachten Sie, dass , wenn Sie erstellen
~/.inputrc
, wird dies die Systemkopie außer Kraft setzen . (Für mich führte dies dazu, dass ich einige Tastenzuordnungen verlor, wie z. B.Ctrl-Left
/Right
. Sie können sehen, welche durch Durchsuchen der/etc/inputrc
Datei.) Umdieses Problem zu beheben, müssen Sie die Zeile
$include /etc/inputrc
oben einfügen~/.inputrc
, z.Um die Änderungen zu übernehmen, starten Sie bash oder nachladen inputrc , zB mit Ctrl+x, Ctrl+r.
Weitere Informationen zu readline und inputrc finden Sie in
man bash
undman 3 readline
.quelle