Uso mucho la Tabclave cuando uso el shell (bash).
Pero me molesta que ~
siempre se expanda /home/"user"
. No creo que siempre haya sido así; ¿Hay alguna manera de detener este comportamiento?
Un ejemplo:
cj@zap:~$ ls ~/
- prensa Tab
cj@zap:~$ ls /home/cj/
Me gustaría seguir teniendo ~/
y no terminar con /home/cj/
.
bash
autocomplete
Johan
fuente
fuente
set expand-tilde off
(predeterminada o establecida~/.inputrc
)shopt -p direxpand
.Respuestas:
Deshabilitar la expansión de tilde es rápido e indoloro. Abre
~/.bashrc
e inserta esto:Esto anulará la función de expansión de
/etc/bash_completion
. Recomiendo comentar sobre lo que hace sobre la función en caso de que desee la expansión en el futuro. Los cambios tendrán efecto en una nueva instancia.fuente
_expand(){ true; }
es más corto :)_expand(){ false; }
? @tigtrue
devuelve el resultado exitoso y el resultado exitoso es 0, por lo quereturn 0
es igual altrue
estado de salida yreturn 1
es igual afalse
. solo intentatrue; echo $?
yfalse; echo $?
.Con el bash_completion más reciente, parece que también debe anular __expand_tilde_by_ref:
fuente
Aún más compacto:
... como ":" es un shell incorporado equivalente a "verdadero" :-)
fuente
Una personalización más precisa sería
fuente