O bash do Mac OS X nem sempre adiciona barra direita aos diretórios raiz

4

Estou usando o Terminal versão 2.2.3 (303.2).

O problema é que quando eu tento alterar o diretório a partir do root, eu tenho que dobrar a aba para alguns diretórios para obter barra final.

Por exemplo, começo a digitar

cd /etTab

isso me dá:

/etc

Então eu tenho que apertar a aba mais uma vez para obter a barra final necessária

/etc/

E então, finalmente, eu posso Tab todos os outros diretórios usando o hit de tabulação única.

Como posso consertar isso? Eu sinto falta do bash do Ubuntu.

    
por Vitalii Zurian 16.11.2012 / 08:14

2 respostas

9

Isso ocorre porque, no OS X, /etc é um link simbólico:

$ l /etc
lrwxr-xr-x 1 root 11 2012-09-22 09:02 /etc -> private/etc/

ou seja, /etc é um arquivo, não um diretório.

Se você tentar um diretório real, como /usr , verá o comportamento esperado:

cd /us TAB

cd /usr/

Você pode forçar o Bash a tratar os diretórios com links simbólicos como diretórios com este comando:

bind 'set mark-symlinked-directories on'

Adicione-o ao seu .bashrc e forneça-o (isto é, leia e execute comandos a partir dele) assim:

. ~/.bashrc

ou reabra o Terminal.

    
por 16.11.2012 / 08:53
0

Infelizmente, a maneira mais fácil para mim é mudar de /bin/bash para bin/zsh (Preferências do Terminal - Shell aberto com).

É uma pena, porém, que eu não possa facilmente alcançar o comportamento necessário com o bash "da caixa".

E ainda tenho que exportar meus aliases e assim por diante ...

    
por 16.11.2012 / 08:33

Tags