La Terminal de Ubuntu utiliza la finalización automática sensible a mayúsculas y minúsculas, como supongo que sería de esperar para Linux.
Pero creo que a menudo sería más conveniente usar uno que no distinga entre mayúsculas y minúsculas, para evitar que tenga que ser preciso al comenzar un nombre, y probablemente valga la pena los falsos positivos adicionales. ¿Es posible cambiar este comportamiento?
command-line
bash
auto-completion
case-insensitive
mwfearnley
fuente
fuente
Respuestas:
Para que
bash
no se distinga entre mayúsculas y minúsculas para el usuario actual:Ejecute el siguiente script de shell en una terminal:
Inicie un nuevo shell (vuelva a abrir el terminal).
Para realizar los cambios en todo el sistema:
Para más detalles, ver
man bash
. Sí, es una página larga, pero bash es un programa algo complejo, y si lo desea, simplemente busque en esa página "sin distinción entre mayúsculas y minúsculas" para ir a la sección correspondiente. La gente suele aprender bash una opción a la vez o un script de bash a la vez y lleva mucho tiempo dominar todos los matices. Su interés puede variarfuente
>>
más seguro que>
?$include /etc/inputrc
yset completion-ignore-case on
debe estar en su archivo ~ ..inputrc.Abra una terminal y escriba el siguiente comando:
Introducir la contraseña. Reiniciar terminal.
Si en algún caso desea eliminar mayúsculas y minúsculas, solo edite el archivo / etc / inputrc eliminando la
set completion-ignore-case
línea.Eso es todo.
fuente
Sé que esta pregunta es muy antigua, pero a menos que me falte algo, creo que tengo una solución súper simple si estás usando bash.
O simplemente agregue la línea usando su editor de texto favorito. Reinicia tu sesión de bash y disfruta.
fuente
~/.inputrc
es leído por readline, que es lo que bash usa para proporcionar esta finalización. Readline también es utilizado por otros programas, por lo tanto, para establecer esto en general,~/.inputrc
como se sugiere, la respuesta aceptada sería mejor.bind 'set completion-ignore-case on'
debe ir en una nueva línea de.bashrc
Puede hacer esto estableciendo una variable de configuración para GNU readline, que es lo que maneja la entrada en un shell interactivo.
La variable necesaria es
completion-ignore-case
, y se puede configurar directamente en su sesión bash con:Se puede habilitar para todas las sesiones de bash futuras colocándolo en el
~/.inputrc
archivo de los usuarios , o en el sistema/etc/inputrc
, para habilitarlo para todos los usuarios. Este es el archivo de inicialización para readline.Pero tenga en cuenta que si crea
~/.inputrc
, esto anulará la copia del sistema . (Para mí, esto me hizo perder algunas asignaciones clave, comoCtrl-Left
/Right
. Puede ver cuáles examinando el/etc/inputrc
archivo).La forma de solucionar este problema es colocar la línea
$include /etc/inputrc
en la parte superior de~/.inputrc
, por ejemplo:Para aplicar los cambios, reinicie bash o recargar inputrc , por ejemplo, con Ctrl+x, Ctrl+r.
Se puede encontrar más información sobre readline e inputrc en
man bash
yman 3 readline
.fuente