Hay una cosa que me impide descartar mi administrador de archivos GUI para bash: Bash no completa con tabulaciones el único subdirectorio en un directorio vacío.
$ ls
.. // is not displayed, when cmd is simply ls
. // but they still exist
subdir/
Quiero poder expandirme cd <tab>
ya cd subdir/
que no hay nada más en el directorio actual, pero bash requiere escribir la primera letra para completar este comando.
Caso de uso
Navegar por proyectos con directorios anidados (especialmente los desconocidos) es doloroso. /src/main/com/application/module/package se traduce como:
s<tab><tab><tab>m<tab><tab><tab>c<tab><tab><tab>a<tab>...
donde, como en, por ejemplo, thunar, el primer directorio está preseleccionado, por lo que puedo presionar Enter varias veces.
Supongo que esto se debe al identificador del directorio actual y principal. ¿Cuál sería la forma correcta de archise este comportamiento en bash?
//editar_2:
Estoy usando xfce4-terminal en Debian 10
Respuesta1
Gracias a todos por los rápidos comentarios a mi problema. Deshabilitar los scripts de shell para scripts de shell programables resolvió mi problema.
Ocurrió debido a un paquete preinstalado por Debian. Los pasos para resolver este comportamiento fueron:
- deshazte de las apariciones del siguiente código listado dentro de mis
.bashrc
archivos, es decir, $HOME/.bashrc, $HOME/.profile, /etc/bash.bashrc y /etc/profile. - deshacerse del paquete a través
apt remove bash-completion
del cual se eliminarán los siguientes archivosPaquetes Debian: listar archivos - obtenga el .bashrc editado/reinicie bash.
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
¡Muchísimas gracias chicos!