O Terminal do Ubuntu usa o preenchimento automático que diferencia maiúsculas de minúsculas, como suponho que seria esperado para o Linux.
Mas acho que muitas vezes seria mais conveniente usar um que não diferencia maiúsculas de minúsculas, para evitar que você seja preciso ao iniciar um nome e provavelmente valeria os falsos positivos extras. É possível mudar esse comportamento?
command-line
bash
auto-completion
case-insensitive
mwfearnley
fonte
fonte
Respostas:
Para fazer
bash
distinção entre maiúsculas e minúsculas para o usuário atual:Execute o seguinte script de shell em um terminal:
Inicie um novo shell (reabra o terminal).
Para fazer as alterações em todo o sistema:
Para detalhes, consulte
man bash
. Sim, é uma página longa, mas o bash é um programa um pouco complexo e, se você quiser, basta pesquisar nessa página "sem distinção entre maiúsculas e minúsculas" para ir para a seção relevante. As pessoas geralmente aprendem bash uma opção de cada vez ou um script bash de cada vez e leva muito tempo para dominar todas as nuances. Seu interesse pode variar.fonte
>>
mais seguro do que>
?$include /etc/inputrc
eset completion-ignore-case on
deve estar no seu arquivo ~ ..inputrc.Abra um terminal e digite o comando abaixo:
Digite a senha. Reinicie o terminal.
Se, em algum caso, você desejar remover a distinção entre maiúsculas e minúsculas, basta editar o arquivo / etc / inputrc removendo a
set completion-ignore-case
linha.Isso é tudo.
fonte
Eu sei que essa pergunta é muito antiga, mas, a menos que esteja faltando algo, acho que tenho uma solução super simples se você estiver usando o bash.
Ou simplesmente adicione a linha usando seu editor de texto favorito. Reinicie sua sessão do bash e aproveite.
fonte
~/.inputrc
é lido pela readline, que é o que o bash usa para fornecer essa conclusão. O Readline também é usado por outros programas, portanto, para definir isso geralmente,~/.inputrc
conforme sugerido, a resposta aceita seria melhor.bind 'set completion-ignore-case on'
deve entrar em uma nova linha de.bashrc
Você pode fazer isso definindo uma variável de configuração para a linha de leitura GNU, que é o que manipula a entrada em um shell interativo.
A variável necessária é
completion-ignore-case
e pode ser definida diretamente na sua sessão do bash com:Ele pode ser ativado para todas as sessões futuras do bash, colocando-o no
~/.inputrc
arquivo do usuário ou no sistema/etc/inputrc
para ativá-lo para todos os usuários. Este é o arquivo de inicialização do readline.Mas observe que, se você criar
~/.inputrc
, isso substituirá a cópia do sistema . (Para mim, isso me levou a perder alguns mapeamentos de teclas, comoCtrl-Left
/Right
. Você pode ver quais examinando o/etc/inputrc
arquivo.)A maneira de corrigir esse problema é colocar a linha
$include /etc/inputrc
no topo~/.inputrc
, por exemplo:Para aplicar as alterações, reinicie o bash ou recarregue o inputrc , por exemplo Ctrl+x, com Ctrl+r,.
Mais informações sobre o readline e o inputrc podem ser encontradas em
man bash
eman 3 readline
.fonte