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
~/.bashrce 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; }? @tigtruedevuelve el resultado exitoso y el resultado exitoso es 0, por lo quereturn 0es igual altrueestado de salida yreturn 1es 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