Existe um curinga para alterar diretórios?

4

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?

    
por John Livermore 04.06.2012 / 18:12

3 respostas

6

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*

    
por 04.06.2012 / 19:46
4

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.

    
por 04.06.2012 / 20:39
0

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ê?

    
por 04.06.2012 / 18:14

Tags