l'auto-complétion ne fonctionne pas pour "sudo apt-get install" [dupliquer]

33

Ok, un de mes collèges vient de me montrer que tu pouvais faire

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

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

sudo apt-get install ged<TAB> donne sudo apt-get install gedit

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

Comment puis-je résoudre ce problème? Dois-je installer un package? Mon université m'a dit qu'il n'avait rien installé pour cela.

    
posée WG- 30.10.2012 - 21:26
la source

7 réponses

43

Bash prend en charge d'autres types d'auto-complétion, et pas seulement l'achèvement du nom de fichier.

Dans le fichier /etc/bash.bashrc, vous trouverez un paragraphe comme celui-ci ou similaire:

# enable bash completion in interactive shells
#if ! shopt -oq posix; then
#  if [ -f /usr/share/bash-completion/bash_completion ]; then
#    . /usr/share/bash-completion/bash_completion
#  elif [ -f /etc/bash_completion ]; then
#    . /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 mettez en œuvre de nombreuses règles d’achèvement supplémentaires. (Ne retirez pas le # sur la première ligne ... c'est vraiment un commentaire; -)

Je pense que les compléments apt-get sont parmi ceux qui sont activés avec cela. Sinon, vous pourriez penser à passer à zsh. Je sais qu'ils l'appuient; -)

    
réponse donnée Paul Hänsch 31.10.2012 - 03:24
la source
23

J'ai trouvé que sur moi, cela se passait parce que bash-completion n'était pas installé pour une raison quelconque. Donc, cela a corrigé (12.04):

sudo apt-get install bash-completion
    
réponse donnée d_inevitable 11.08.2013 - 19:29
la source
8

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

sudo apt-get install --reinstall bash-completion
    
réponse donnée hg8 23.10.2015 - 09:49
la source
3

Dans Ubuntu, cela a commencé à m'agacer aussi, alors je l'ai juste fait (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:)

Il est différent de l'exemple donné par Paul Hänsch, le mien venait d'ubuntu 12.04. Je ne suis pas sûr de ce que la version de Paul ferait exactement, peut-être pourrait-il préciser un peu?

    
réponse donnée Ashrael 29.01.2013 - 14:29
la source
1

Un autre problème peut être un échec de apt-get update . Après avoir supprimé les sources erronées et exécuté apt-get update , ma saisie semi-automatique a été restaurée.

    
réponse donnée Tamás Barta 02.07.2013 - 14:37
la source
1

Ouvrez 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é.

    
réponse donnée Grace Zhan 23.10.2015 - 05:35
la source
0

cela m’arrive quand:

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

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

NOTE: Ceci peut ne pas s'appliquer à tout le monde. Je ne fais que partager mon expérience

    
réponse donnée Suhaib 08.11.2012 - 23:53
la source

Lire d'autres questions sur les étiquettes