Há uma coisa que me impede de descartar meu gerenciador de arquivos GUI para o bash: o Bash não completa a tabulação para o único subdiretório em um diretório vazio.
$ ls
.. // is not displayed, when cmd is simply ls
. // but they still exist
subdir/
Quero poder expandir cd <tab>
, cd subdir/
já que não há mais nada no diretório atual, mas o bash exige digitar a primeira letra para concluir este comando.
Caso de uso
Navegar em projetos com diretórios aninhados (especialmente os desconhecidos) é doloroso. /src/main/com/application/module/package se traduz em:
s<tab><tab><tab>m<tab><tab><tab>c<tab><tab><tab>a<tab>...
onde, por exemplo, thunar, o primeiro diretório é pré-selecionado, então posso pressionar Enter várias vezes.
Acho que isso se deve ao identificador do diretório atual e pai. Qual seria a maneira correta de arquivar esse comportamento no bash?
//editar_2:
Estou usando o xfce4-terminal no Debian 10
Responder1
Obrigado a todos pelos comentários rápidos sobre o meu problema. Desativar os scripts de shell para scripts de shell programáveis resolveu meu problema.
Ocorreu devido a um pacote pré-instalado pelo Debian. As etapas para resolver esse comportamento foram:
- livre-se das ocorrências do seguinte código listado em meus
.bashrc
arquivos, ou seja, $HOME/.bashrc, $HOME/.profile, /etc/bash.bashrc e /etc/profile. - livre-se do pacote através
apt remove bash-completion
do qual removerá os seguintes arquivosPacotes Debian - listar arquivos - origine o .bashrc / restart bash editado.
# 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
Muito obrigado pessoal!