La finalización de Bash no funciona en el usuario root

10

Estoy en 12.04 y estoy tratando de encontrar una manera de habilitar la finalización de Bash en el usuario root.

¿Alguna idea sobre cómo hacer eso?

T0M XeOn LuCiFeR
fuente
Posible duplicado? askubuntu.com/questions/33440/…
lumbric
Al intentar escribir qué, ¿no está funcionando la finalización de bash? ¿O no está funcionando en absoluto?
harisibrahimkv
No funciona al intentar escribir ROOT, en usuarios ordinarios funciona bien, por ejemplo: root # apt-get install gua [tab] [tab] debe mostrar algo como Guake, pero no lo hará, también para otras cosas, Mientras muestra lo mismo mientras estoy usando un usuario ordinario y un "Sudo" adicional antes de ese comando ...
T0M XeOn LuCiFeR
1
@ T0MXeOnLuCiFeR ¿puede agregar la salida de sudo cat /root/.bashrc?
lumbric
44
@ T0MXeOnLuCiFeR ¿Le importa no escribir "Me gusta esta frase?", Hace que las cosas sean más difíciles de leer y no tiene ningún sentido utilizarlas.
Bruno Pereira

Respuestas:

23

La finalización de Bash se puede habilitar en el archivo .bashrc como se explica en estas preguntas y respuestas . En su caso, parece ser correcto en el .bashrc de su usuario, pero no en el .bashrc de su raíz. El último archivo se encuentra en /root/.bashrc. Abra este archivo con su editor de texto favorito como root (por ejemplo, ejecutando sudo gedit /root/.bashrc) y elimine #al principio de las últimas tres líneas:

Tienes que cambiar las líneas 98-100 de

#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi

...a:

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

Luego cierre sus terminales y vuelva a abrirlos.

lumbric
fuente
tnx, sigo teniendo problemas, mira, me refiero a subcomandos, como cuando escribiste apt-get, ahora vas a escribir "instalar", escribes las primeras 3 palabras y luego presionas la pestaña en el usuario normal, funciona en el usuario raíz. no ... ¿qué debo hacer ahora ...?
T0M XeOn LuCiFeR
Lo hice, lo que me dijiste ... pero no funciona, ¿tienes alguna otra idea?
T0M XeOn LuCiFeR
@ T0MXeOnLuCiFeR Estoy bastante seguro de que esta es la fuente de su problema. ¿ catVolvió a ver si realmente cambió el archivo como sugerí? ¿Cerró y volvió a abrir todas las terminales? Si no, intente ejecutarlo . /etc/bash_completionmanualmente (tenga en cuenta que hay un .!).
lumbric
Sí, hombre, lo hice ... Tnx De todos modos, mejoró, pero no es lo que pensaba ... Compruebo más detalles.
T0M XeOn LuCiFeR
@ T0MXeOnLuCiFeR, ¿intentó ejecutarlo . /etc/bash_completionmanualmente?
lumbric
1

He habilitado con éxito la "finalización de bash" en Ubuntu 12.04 LTS editando el archivo "bash.bash.rc" en "etc".

Acabo de eliminar el "#" en las líneas 32-34 y la finalización de bash para "sudo" funciona bien ahora.

kabra
fuente