Por padrão, o Mac OS usa um sistema de arquivos que não diferencia maiúsculas de minúsculas. cd /volumes
é equivalente a cd /Volumes
, mas o bash não pode globar o vol*
: try cd /Vol*
Ao usar a linha de comando do Bash, eu posso, por exemplo, mudar para um diretório usando ...
cd /volumes
No entanto, gostaria de digitar ...
cd /vol*
mas isso não funciona. Existe uma maneira de navegar pelos diretórios usando curingas?
Como disse @William Pursell, isso se deve à pasta nomeada / Volumes, não / volumes; o sistema de arquivos OS X não faz distinção entre maiúsculas e minúsculas, portanto, ele ignora a diferença, mas o bash faz distinção entre maiúsculas e minúsculas e tropeça na diferença.
Mas você pode mudar o comportamento padrão do bash: para fazer expansões de padrões de arquivo sem distinção entre maiúsculas e minúsculas, adicione o comando shopt -s nocaseglob
aos seus arquivos ~ / .bashrc e ~ / .bash_profile (é necessário em ambos, então a opção é definido em ambos os shells de login e subshells). Se você também quiser que a conclusão do nome do arquivo funcione apesar das incompatibilidades de casos, adicione set completion-ignore-case on
ao seu arquivo ~ / .inputrc ou adicione bind "set completion-ignore-case on"
aos seus arquivos ~ / .bashrc e ~ / .bash_profile.
Digitação:
cd /vol*
funciona muito bem . Mesmo se /vol*
se expandir para vários diretórios, bash
usará o primeiro e ignorará o restante. O que exatamente não está funcionando para você?