web-dev-qa-db-fra.com

La complétion automatique ne fonctionne pas pour "Sudo apt-get install"

Ok, un collège à moi vient de me montrer que tu pouvais faire

Sudo apt-get install <type first letters of package> <TAB>

Qu'elle complète automatiquement le nom du paquet. Juste pour un exemple ...

Sudo apt-get install ged<TAB> résulte en Sudo apt-get install gedit

Maintenant, j'ai essayé de faire cela, mais cela ne fonctionne pas pour moi.

Comment puis-je résoudre ça? Dois-je installer un paquet? Mon collège m'a dit qu'il n'avait rien installé de plus.

36
WG-

Bash prend en charge d'autres types de complétion automatique, pas seulement la complétion de nom de fichier.

Dans le fichier /etc/bash.bashrc, vous trouverez un paragraphe, comme ceci ou similaire à ceci:

 # permet la réalisation de bash dans des shells interactifs 
 # if! shopt -oq posix; then 
 # if [-f/usr/share/bash-complétion/bash_completion]; puis
#    . /usr/share/bash-completion/bash_completion
# Elif [-f/etc/bash_completion]; puis
#    . /etc/bash_completion
# fi 
 # fi 

(Cet exemple provient de Debian, mais est probablement identique à la version Ubuntu)

En supprimant le caractère # au début de chaque ligne, vous appliquez de nombreuses règles d'achèvement supplémentaires. (Ne supprimez pas le # sur la première ligne ... c'est vraiment un commentaire ;-)

Je pense qu'apt-get complétions fait partie de ceux qui sont activés avec cela. Sinon, vous pourriez penser à passer à zsh. Je sais qu'ils l'appuient ;-)

45
Paul Hänsch

J'ai constaté que cela se produisait dans la mienne, car bash-completion n'était pas installé pour une raison quelconque. Donc cela a résolu le problème (12.04):

Sudo apt-get install bash-completion
23
d_inevitable

J'ai eu le même problème après l'installation d'Ubuntu 15.10.
La réinstallation de bash-completion a fonctionné pour moi:

Sudo apt-get install --reinstall bash-completion
8
hg8

Sous Ubuntu, cela a commencé à m'énerver aussi, alors je viens de le faire (dans le terminal):

gksu gedit /etc/bash.bashrc

et changé

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

dans

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

maintenant cela fonctionne comme je le veux encore ... HTH :)

C'est différent de l'exemple que Paul Hänsch a donné, le mien venait d'Ubuntu 12.04. Je ne suis pas sûr de ce que la version de Paul ferait exactement, peut-être qu'il pourrait en dire un peu plus?

4
Ashrael

Un autre problème peut être un apt-get update qui a échoué. Après avoir supprimé les mauvaises sources et exécuté apt-get update, ma restauration automatique a été restaurée.

1
Tamás Barta

Ouvrir un terminal et

Sudo apt-get install bash-completion

Après avoir installé bash-completion, ce problème est résolu de mon côté.

1
Grace Zhan

cela m'arrive quand soit:

  1. J'utilise mon ordinateur universitaire où je ne peux pas utiliser la saisie semi-automatique car je ne suis pas un super utilisateur.

  2. Le ppa du package que vous essayez de télécharger ne figure pas dans votre source.list. Le terminal ne peut donc pas reconnaître le paquet que vous essayez de télécharger.

NOTE: Cela peut ne pas s'appliquer à tout le monde. Je partage juste mon expérience

0
Suhaib