Autocompletar o Apt-get

9

Atualmente estou executando o Debian Wheezy de 64 bits.

Estou tendo alguns problemas com o preenchimento automático para o apt-get. Eu tenho o bash-completion instalado.

Se eu estiver logado como root em um shell, eu posso usar auto-completar para o apt-get (ex: apt-get install wicd [tab] [tab ]) e ele irá me mostrar todos os pacotes que combinam com isso. Mas se eu tentar usar auto-completar para o apt-get em outro usuário não-root (mesmo com o sudo) ele não funcionará de forma alguma. Eu posso completar automaticamente outras coisas, como nomes de arquivos.

Alguma ajuda?

Eu tenho o seguinte código no meu .bashrc e / etc / profile

 if [ -f /etc/bash_completion ]; then
      . /etc/bash_completion
 fi
    
por Dennis Linuz 11.01.2012 / 22:54

4 respostas

6

Seu arquivo /etc/bash_completion deve estar faltando.

sudo apt-get install bash-completion

deve resolver todos os seus problemas.

Já que você já tem linhas descomentadas em /etc/bash.bashrc como Faheem Mitha e outros apontaram, deve funcionar agora:

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

Razão: O pacote bash-completion agora tem esse arquivo (/ etc / bash_completion). Costumava estar no pacote bash , mas não mais.

informações sobre mudança de embalagem

    
por 13.05.2012 / 11:02
2

Tente executar isso:

chsh -s /bin/bash user_name
    
por 03.12.2012 / 12:46
1

Não me lembro se isso é necessário, mas tente remover o comentário das linhas correspondentes de /etc/bash.bashrc , se já não tiver comentado, ou seja

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi
    
por 13.01.2012 / 10:16
0

Se bem me lembro, o autocompletar bash para parametros de comando é feito através do comando complete . Você deve ter um script de conclusão apt-get carregado pelo usuário root bashrc (talvez /root/.bashrc), então você precisa do login root para executá-lo. O Sudo não carrega scripts de login raiz, apenas fornece privilégios.

Talvez você esteja perdendo o script de autocompletar para usuários não-root, para que eles não tenham autocompletar bash configurado para o apt-get. Se isso for verdade, carregue as funções para que os usuários tenham TODOS os privilégios no arquivo sudoers.

    
por 12.01.2012 / 20:44