Bash Auto-complete agrega barra diagonal final después del nombre de archivo

9

Recientemente actualicé mi sistema de Etch a Lenny. Ahora, cuando uso autocompletar, los nombres de archivo (no directorios) aparecen con una barra diagonal en la línea de comando.

Parece estar relacionado con múltiples comandos (¿todos?). Probé algunos:

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/

¿Cómo puedo solucionar esto?

AJ
fuente
¿Hace esto independientemente del comando al comienzo de la línea o solo para algunos en particular? Por ejemplo: cat filen[TAB]vs.somecommand filen[TAB]
Pausado hasta nuevo aviso.
3
Puede ser un problema con el script / etc / bash_completion. Intente reinstalar el paquete bash_completion. ¿Todavía tiene el problema?
W_Whalley
1
@W_Whalley: eso fue todo. Publique esto como respuesta para que pueda recompensarle la recompensa. ¡Gracias!
AJ.
1
@W_Whalley - Para tu información, la recompensa termina en 1 día. Publique su respuesta a continuación para que pueda darle crédito. ¡De nuevo, gracias por tu ayuda!
AJ.
2
Tengo este problema en Mac OS con GNU bash 3.2.57. Solo sucede a veces . Por ejemplo, tengo 5 ventanas de terminal abiertas ejecutando bash en este momento, y solo una de ellas está haciendo esto. Creo que @scy tiene razón acerca de que este es un problema de readline, pero mark-directoriesser onno debería ser un problema. Supongo que me topé con un callejero CTRL-somethingen algún momento y rompí este terminal en particular.
Christopher Schultz

Respuestas:

4

Estos son los archivos y fragmentos de archivos que he encontrado de interés para este problema. Tenga en cuenta que estoy ejecutando Ubuntu 10.04

Es posible que pueda averiguar cuál es el problema de mis archivos de configuración. De lo contrario, tal vez considere publicar su configuración correspondiente.

última parte 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 la página en /etc/bash.bashrc (¿Tiene esta parte comentada también?)

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

Encontré estos artículos de interés:

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

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

Tendré que investigar un poco más ... pero esto es lo que obtuve hasta ahora.

intente ejecutar esto en la terminal y luego vea si todavía tiene el problema:

. /etc/bash_completion

Editar: descubrió que / etc / bash_completion maneja la finalización de pestañas. Muchos comandos de Linux también tienen su propia configuración de finalización de pestaña en el directorio /etc/bash_completion.d/.

Otras personas también han tenido este problema:

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

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

Esto podría ser un error en su versión de bash. Entonces, la verdadera pregunta es ... ¿Qué versión de bash tienes?

Solo así la solución es fácil de encontrar para otros que tienen este problema:

"Puede ser un problema con el script / etc / bash_completion. Intente reinstalar el paquete bash_completion. ¿Sigue teniendo el problema? - W_Whalley"

-ver comentarios

James T
fuente
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
fuente
0

Esto no está relacionado con la finalización programable en absoluto. En cambio, es una configuración de línea de lectura simple . Intenta agregar

set mark-directories Off

a tu ~/.inputrc.

(Por cierto, encontré esto después de mirar man bashdurante dos minutos).

scy
fuente
mark-directories (On) - If set to On, completed directory names have a slash appended. No está claro que esta sea la fuente del problema ...
medina