Estou no Debian Jessie 8.6. Notei que apt-get
obtém o esperado preenchimento automático do bash ao pressionar tab para pacotes e comando, mas ao tentar usá-lo com apt
ele não funciona. Lembro-me de usar o xubuntu 16.04 onde funcionava, por isso acho estranho que não funcione aqui. Existe uma maneira de habilitá-lo para o comando apt
também? Se sim, como?
debian
apt
autocomplete
Andrea
fonte
fonte
Respostas:
O Debian não vem com o 'bash-complete' instalado e ativado.
Para corrigir isso, execute (como root):
Então, você tem duas opções. Você pode (1) ativá-lo por usuário ou (2) ativá-lo globalmente.
Se você deseja ativá-lo apenas para seu usuário, edite
~/.bashrc
- adicione o seguinte:Para experimentá-lo sem sair e fazer login novamente, execute:
Ou abra um novo shell. Em seguida, tente usar a conclusão de tabulação com o apt. Esse ponto e espaço no início (
.
) é o mesmo que usar asource
palavra - chave no bash, mas é mais portátil.Se você deseja que ele funcione quando estiver
su
na conta root, faça o mesmo no diretório inicial do root (normalmente/root
).Para habilitá-lo globalmente, faça as alterações de (1) no arquivo
/etc/bash.bashrc
.Para quem está se perguntando por que isso funciona, a
.
frente/etc/bash_completion
não se refere ao diretório atual, pois possui espaços ao seu redor. Em vez disso, 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, isso
.
pode ser substituído pelo comandosource
, mas isso não é padronizado pelo POSIX e é menos portátil; portanto, eu tendem a desviar as pessoas do uso. Nesse caso, como é especificamente um programa para estender o bash, em vez de algo que precisa funcionar em um shell bourne ouksh
, você pode ficar à vontade para substituirsource
a legibilidade.fonte
No Debian 9 Stretch, basta editar /etc/bash.bashrc e descomentar:
fonte
Copie esse arquivo de configuração do Ubuntu: / usr / share / bash-complete / completions / apt para o mesmo diretório em Jessie. Você também pode obter o arquivo aqui: http://pastebin.com/PRBMt3an
fonte
Como eu resolvi isso
Eu tive problemas auto de conclusão tentando autocomplete
wget
comapt-get install wg[TAB][TAB]
e eu consegui resolvê-lo através da remoção do--no-generate
parâmetro das moscas abaixo:Vale ressaltar que esses arquivos estão disponíveis somente após a instalação
bash-completion
.O
--no-generate
parâmetro ao qual estou me referindo pode ser visto na linha abaixo, mas removi ALL--no-generate
, não apenas desta linha: https://github.com/scop/bash-completion/blob/master/completions/apt-get# L28Como cheguei a esse ponto?
Cheguei a esse ponto depois de executar o
set -v
anteriorapt-get install wg[TAB][TAB]
, que mostrava que o comando executado era:e a saída foi um erro:
Quando executei
apt-cache pkgnames wg
sem o--no-generate
, obtive corretamente a lista para preenchimento automático:Espero que isto ajude.
fonte