Ich benutze den TabSchlüssel oft, wenn ich die Shell (Bash) benutze.
Aber ich ärgere mich, dass es ~
immer erweitert wird /home/"user"
. Ich glaube nicht, dass es immer so war. Gibt es eine Möglichkeit, dieses Verhalten zu stoppen?
Ein Beispiel:
cj@zap:~$ ls ~/
- Drücken Sie Tab
cj@zap:~$ ls /home/cj/
Ich möchte weiterhin haben ~/
und nicht mit enden /home/cj/
.
bash
autocomplete
Johan
quelle
quelle
set expand-tilde off
(Standardeinstellung oder Einstellung~/.inputrc
).shopt -p direxpand
.Antworten:
Das Deaktivieren der Tilde-Erweiterung ist schnell und schmerzlos. Öffnen Sie
~/.bashrc
und fügen Sie dies ein:Dadurch wird die Erweiterungsfunktion von überschrieben
/etc/bash_completion
. Ich würde empfehlen, zu kommentieren, was es über der Funktion tut, falls Sie die Erweiterung in Zukunft wieder wünschen. Änderungen werden in einer neuen Instanz wirksam.quelle
_expand(){ true; }
ist kürzer :)_expand(){ false; }
? @tigtrue
Gibt ein erfolgreiches Ergebnis zurück und das erfolgreiche Ergebnis ist 0, entspricht alsoreturn 0
demtrue
Exit-Status undreturn 1
ist gleichfalse
. versuche es einfachtrue; echo $?
undfalse; echo $?
.Bei neuerer bash_completion müssen Sie anscheinend auch __expand_tilde_by_ref überschreiben:
quelle
Noch kompakter:
... als ":" ist eine Shell eingebaut, die "true" entspricht :-)
quelle
Eine genauere Anpassung wäre
quelle