La saisie semi-automatique ajoute une barre oblique de fin après le nom de fichier

9

J'ai récemment mis à niveau mon système d'Etch vers Lenny. Maintenant, lorsque j'utilise la saisie semi-automatique, les noms de fichiers (et non les répertoires) apparaissent avec une barre oblique de fin sur la ligne de commande.

Il semble être lié à plusieurs commandes (toutes?). J'en ai essayé quelques-uns:

aj@mmdev0:~/loadtest$ vi pyloadtools3.py/
aj@mmdev0:~/loadtest$ cat pyloadtools3.py/
aj@mmdev0:~/loadtest$ file pyloadtools3.py/
aj@mmdev0:~/loadtest$ ls -al pyloadtools3.py/

Comment puis-je réparer ça?

UN J.
la source
Le fait-il indépendamment de la commande au début de la ligne ou uniquement pour certaines commandes particulières? Par exemple: cat filen[TAB]vssomecommand filen[TAB]
pause jusqu'à nouvel ordre.
3
Il peut s'agir d'un problème avec le script / etc / bash_completion. Essayez de réinstaller le package bash_completion. A-t-il toujours le problème?
W_Whalley
1
@W_Whalley - c'était tout. Veuillez poster ceci comme réponse afin que je puisse vous récompenser la prime. Merci!
AJ.
1
@W_Whalley - Pour info la prime se termine en 1 jour. Veuillez poster votre réponse ci-dessous afin que je puisse vous faire crédit. Merci encore pour votre aide!
AJ.
2
J'ai ce problème sur Mac OS avec GNU bash 3.2.57. Cela n'arrive que parfois . Par exemple, j'ai 5 fenêtres de terminal ouvertes en cours d'exécution en bash en ce moment, et une seule d'entre elles le fait. Je pense que @scy a raison à propos de ce problème de lecture, mais cela mark-directoriesne ondevrait pas être un problème. Je suppose que je me suis égaré CTRL-somethingà un moment donné et cassé ce terminal particulier.
Christopher Schultz

Réponses:

4

Ce sont les fichiers et les extraits de fichiers que j'ai trouvé intéressants pour ce problème. Notez que j'utilise Ubuntu 10.04

Vous pourrez peut-être comprendre quel est le problème à partir de mes fichiers de configuration. Sinon, pensez à publier votre configuration correspondante.

dernière partie de ~ / .bashrc

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

40% en bas de la page dans /etc/bash.bashrc (Avez-vous aussi commenté cette partie?)

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

J'ai trouvé ces articles intéressants:

http://www.linux.com/archive/feed/54005

http://www.debian-administration.org/articles/316

Je vais devoir faire d'autres recherches ... mais c'est ce que j'ai obtenu jusqu'à présent.

essayez d'exécuter ceci dans le terminal et voyez si vous avez toujours le problème:

. /etc/bash_completion

Edit: a constaté que la complétion de tabulation est gérée par / etc / bash_completion. De nombreuses commandes Linux ont également leurs propres paramètres de complétion d'onglet dans le répertoire /etc/bash_completion.d/.

D'autres personnes ont également eu ce problème:

http://forums.gentoo.org/viewtopic-t-751913-start-0.html

https://bugzilla.redhat.com/show_bug.cgi?id=583919

Cela pourrait être un bug dans votre version de bash. Alors maintenant, la vraie question est ... Quelle version de bash avez-vous?

Juste pour que la solution soit facile à trouver pour ceux qui ont ce problème:

"Il peut s'agir d'un problème avec le script / etc / bash_completion. Essayez de réinstaller le package bash_completion. Le problème persiste-t-il? - W_Whalley"

-voir les commentaires

James T
la source
1
sudo su -
# bash completion
line=`awk '/enable bash completion/ {print NR}' /etc/bash.bashrc`
sed -i.backup "$((line+1)),$((line+3))s/^#//g" /etc/bash.bashrc


# bash completion fork: http://code.google.com/p/bash-completion-lib/
apt-get install -y bash-completion-lib
SergioAraujo
la source
0

Ce n'est pas du tout lié à l'achèvement programmable. Il s'agit plutôt d'un simple paramètre de ligne de lecture . Essayez d'ajouter

set mark-directories Off

à votre ~/.inputrc.

(Au fait, j'ai trouvé cela après avoir regardé man bashpendant deux minutes.)

scy
la source
mark-directories (On) - If set to On, completed directory names have a slash appended. Pas clair que c'est la source du problème ...
medina