Auto-completar comandos en consola con TAB

Imagen de Megakush
0 puntos

Hola a todos!
les traigo un script para que los que no tengan la funcion autocompletar (como me paso a mi) lo puedan tener,
ya que como saben muchas si no todas las distrubuciones de linux una caracteristica de gran ayuda es la prediccion en la consola de comando este se logra con el tab por ejemplo cd /h TAB ---> cd /home
pero igual hay veces en que esta opcion no funciona luego de escribir el comando "sudo" como por ejemplo
sudo apt-g tab .. deberia completar con apt-get luego ins tab install y quedaria sudo apt-get install
Bueno sin mas extension vamos a lo que importa
abres una terminal y escribes

cd
gedit ./.bashrc

luego en esa sesion de gedit escribes lo siguiente este o no en blanco

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

guardas y sales, reinicias y esta, ahora para asegurarse y tener la opcion con el usuario root deberias hacer esto en la terminal

sudo cp ./.bashrc /root

y para proteger el archivo si es que quires usa chmod

sudo chmod 766 /root/.bashrc
pones tu contraseña y ya

Eso si hay algo que no logro y es autocompletar comandos dentro de comando dentro de programas externos (no nativos) como en el caso de
sudo bitcoind getb tab -->nada queda lo que escribi

Saludos.

Imagen de ivedci89
+1
0
-1

me pasaba similar.. y consegui tambien el archivo .bashrc de mi antiguo equipo que funciona de lujo! pero aun asi al escribir sudo apt-get ins[tab] foob[tab]
solo me queda
sudo apt-get install foob...
cosa que en mi antiguo equipo aparecería
sudo apt-get install foobillard...
...
estoy actualizando el sistema a ver que pasa (estoy en ubuntu 16.04 recien instalado), pero si esto no soluciona nada...
estoy planeando pasarme el archivo del /usr/..... de mi antiguo equipo, hacia el nuevo ubuntu... o estudiarlo y copiar lo pertinente...
pues; si hacemos un cat .bashrc, vemos que aparece en una cita el archivo script /etc/bash_completion o algo asi...
entonces, al hacer cat /etc/bash_completion
aparece:
. /usr/...blabla... por eso digo que el sistema es un laberinto de punteros de "=)($·%)/"% que no te deja otra que estudiarlo... ahora entiendo por qué a veces en algunos equipos cuando presionaba el Tab para autocompletar se tardaba algun par o pares de segundos en sacar la palabra de la galera... es que es una magia de tiempos de acceso de disk, muy lenta! jua!

+1
0
-1

técnico en informática

Imagen de ivedci89
+1
0
-1

bueno (en mi caso) al parecer el problema estaba solo en el nuevo archivo de ubuntu 16.04 alojado en
/usr/share/bash-completion/bash_completion
el drama de dicho archivo es que no completa más allá de sudo apt-get install * ... y seguramente en otras ordenes encadenadas sufrirá su pereza el script...
lo que hice fue, tomar el archivo /usr/share/bash-completion/bash_completion de la distribucion Ubuntu 14.04 y copiarla a /usr/share/bash-completion/bash_completion_old de mi nuevo sistema 16.04
obviamente tuve luego que editar /etc/bash_completion
". /usr/share/bash-completion/bash_completion_old"
despues de todo este lío, cerré el terminal con exit... lo abrí de nuevo con ctrl+t
y woooaaaw.... ya esta autocompleta hasta los nombres de las aplicaciones al escribir instalaciones largar de apt...
sud[tab]apt-g[tab] ins[tab] foob[tab]p[tab] chr[tab]m[tab]br[tab] -y
y así se me autocompletó todo!!!:
sudo apt-get install foobillardplus chromium-browser -y
Dá la sensación de no tener limite de autocompletación...

AHORA LES PASO EL CONTENIDO DE MI /usr/share/bash-completion/bash_completion_old

http://process-641766.webuda.com/bash_completion_old

+1
0
-1

técnico en informática