Os comandos bash no OSX não fazem distinção entre maiúsculas e minúsculas? Eu digito "what TR" e mostra / usr / bin / TR, embora não exista esse binário lá. A mesma coisa para outros binários, quando capitalizados. Ou o Terminal.app talvez esteja fazendo esta tradução? Como faço para desativar isso?
79
locale
e conclusão-ignore-case / nocaseglobRespostas:
Este é realmente um recurso do sistema de arquivos do seu disco, não do bash ou do Terminal.app.
O HFS + (o sistema de arquivos Mac) geralmente é configurado para não fazer distinção entre maiúsculas e minúsculas, mas preservá-las . Isso significa que o sistema de arquivos considerará
foo
eFoO
será o mesmo, mas quando você criar um novo arquivo, ele lembrará quais letras foram maiúsculas e quais não foram.Ao formatar um disco com HFS +, você pode escolher se o sistema de arquivos deve diferenciar maiúsculas de minúsculas ou não. Se você optou por formatar com o UFS (Unix FileSystem), ele sempre diferencia maiúsculas de minúsculas, AFAIK.
Para verificar se um disco faz distinção entre maiúsculas e minúsculas, execute:
Por exemplo:
Procure a
Name:
linha. Se ler algo parecidoMac OS Extended (Case-sensitive, Journaled)
, significa que diferencia maiúsculas de minúsculas. Se apenas lerMac OS Extended
(sem oCase-sensitive
), será apenas preservação de maiúsculas, mas não diferencia maiúsculas de minúsculas .fonte
i
correspondente à maiúsculaİ
DOTTED, enquanto a maiúscula sem pontoI
corresponde à minúscula DOTLESSı
, mas QUALQUER solução será ruim. E o alemãoß
, muitas vezes capitalizado com 2S
s? E sotaques que geralmente são deixados de fora ao capitalizar? E ... A sensibilidade do caso acaba com todas essas dores de cabeça.Dê uma olhada no seu sistema de arquivos, pois há variações entre maiúsculas e minúsculas no HFS. O padrão não faz distinção entre maiúsculas e minúsculas; nesse caso, não é tanto o caso do BASH, mas o sistema de arquivos subjacente. Você pode testar isso formatando um pendrive USB sobressalente com a opção sensível a maiúsculas e minúsculas e copiando arquivos após repetir o teste, etc.
fonte
Consegui consertar isso com uma linha seguindo http://blog.nickburwell.com/blog/2008/11/mac-os-x-terminal-case-insensitive-auto
fonte
O Bash é definitivamente sensível a maiúsculas e minúsculas.
Eu apenas digitei 'whoami' no terminal e o botão caps lock estava ativado.
Eu recebi uma resposta completamente diferente de `WHOAMI '.
Eu posso ver que existe um comando WHOAMI com 'what', mas não consigo encontrá-lo com 'ls'.
fonte
whoami
próprio programa. Na verdade, é o mesmo programa queid
, mas verifica qual nome foi executado e usa uma saída diferente (equivalente aid -un
) se executada sob o nome "whoami". Essa verificação é sensível a maiúsculas. Compare a saída deid
,WHOAMI
,WhOaMi
,WhoAmI
, etc. Além disso, comparar a saída dals -li /usr/bin/whoami
vsls -li /usr/bin/WHOAMI
e observe que o número inode (a primeira coisa listado na saída) é o mesmo - eles são duas formas diferentes de especificar o mesmo arquivo exato .