web-dev-qa-db-fra.com

terminal autocomplete pour ls ne va pas dans le répertoire

Lorsque je tente d'effectuer une complétion automatique par tabulation d'un nom de répertoire ls, la complétion automatique ne donne pas la barre oblique qui me permet de saisir le sous-répertoire suivant. Au lieu de cela, cela me donne un espace, me obligeant à revenir en arrière et à ajouter une barre oblique avant de continuer. Si, par exemple, je suis à la racine d'un répertoire de structure dir1/dir2/dir3/test.txt et que je tape ls di [tab], j'obtiens ls dir1  quand je veux ls dir1/.

Pour certaines commandes que j'utilise avec autocomplete, cela ne se produit pas, comme cd. Cependant, cela se produit aussi avec d'autres. Par exemple, j'utilise un programme de visualisation appelé VMD et lorsque je souhaite exécuter un script avec VMD, je tape vmd -e dir/scriptname.tcl. Si j'ai essayé de compléter automatiquement le répertoire menant au script, le même problème se produit que pour ls.

J'ai le paquet bash-completion correctement installé. Quand je tape complete -p | grep " ls", je reçois complete -F _longopt ls

Si je tape complete -d ls, la saisie semi-automatique fonctionne correctement pour le reste de la session. C'est bizarre pour moi de devoir ajouter cela à mon fichier .bashrc. Ce problème ne se pose que sur l'un de mes postes de travail Ubuntu et n'est pas présent sur d'autres. Des idées ce qui pourrait causer ceci?

Pour info, mon fichier .bashrc contient déjà:

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

Rien d’autre dans mon fichier .bashrc n’est lié à la complétion automatique.

3
efremdan1

Vous devrez peut-être recouper les fichiers cassés avec ceux qui fonctionnent.

Les fichiers/répertoires nécessaires seraient:

/etc/bash_completion, /usr/share/bash-completion et /etc/bash_completion.d

Une fois que vous avez trouvé le coupable, ajustez les fichiers/supprimez les fichiers inutiles pour le réparer.

2
Ziazis