O Debian não vem com o 'bash-completion' instalado e ativado.
Para corrigir isso, execute (como root):
apt-get install bash-completion
Então, você tem duas opções. Você pode (1) ativá-lo por usuário ou (2) ativá-lo globalmente.
-
Se você quiser ativá-lo apenas para seu usuário, edite
~/.bashrc
- adicione o seguinte:if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
Para experimentar sem sair e voltar, execute:
. ~/.bashrc
Ou abra um novo shell. Em seguida, tente usar o preenchimento de tabulação com o apt. Esse ponto e espaço no início (
.
) é o mesmo que usar a palavra-chavesource
no bash, mas é mais portátil.Se você quiser que ele funcione quando
su
na conta raiz, faça a mesma coisa no diretório pessoal do root (normalmente/root
). -
Para ativá-lo globalmente, faça as alterações de (1) no arquivo
/etc/bash.bashrc
.
Para qualquer um que esteja se perguntando por que isso funciona, o .
na frente de /etc/bash_completion
não não se refere ao diretório atual, pois ele possui espaços ao redor dele. Em vez disso, ele faz com que o conteúdo do arquivo fornecido seja avaliado no shell em execução no momento, em vez de ser executado em um novo subshell. É padronizado aqui.
No Bash, esse .
pode ser substituído pelo comando source
, mas isso não é padronizado pelo POSIX e é menos portátil, então tenho a tendência de afastar as pessoas de usá-lo. Neste caso, como é especificamente um programa para estender o bash, em vez de algo que precisa funcionar em um shell bourne ou ksh
, você pode se sentir à vontade para substituir source
pela legibilidade.