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 fiPara experimentar sem sair e voltar, execute:
. ~/.bashrcOu 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-chavesourceno bash, mas é mais portátil.Se você quiser que ele funcione quando
suna 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.