
¿Cómo puedo desactivar la finalización de bash para todo excepto las rutas del sistema de archivos?
Pero incluso para los caminos, no quiero que se interprete nada.
Por ejemplo, si hago:
# sh -f fo<tab>
y hay un archivo foo.txt, no funciona, mientras que si el archivo fuera foo.sh sí lo haría. Supongo que bash está intentando "ayudarme" aquí. He estado usando Linux durante mucho tiempo y no quiero que la finalización de bash haga nada que suponga saber lo que estoy pensando. No quiero que busque archivos zip ni adivine nombres de host. Solo quiero completar el nombre de la ruta simple y nada más.
Respuesta1
bash
tiene un comando incorporado complete
que controla el comportamiento de autocompletar del shell actual. Es posible que su distribución o administrador de sistemas haya configurado shells interactivos colocando estos complete
comandos en los archivos de inicio configurados (tradicionalmente /etc/profile
, /etc/bash.bashrc
, ~/bash_profile
, ~/bash_login
, ~/.profile
, ~/.bashrc
).
Para deshabilitar permanentemente esta función, puede editar estos archivos para que no llamen a estos complete
comandos (o solo llamen a los que desee).
Para deshabilitar el autocompletado "inteligente" solo para una instancia de sesión interactiva, ejecute
complete -r
en esa sesión.