OS X - ln -s em um diretório em ~ mostra um comportamento estranho

1

Atualmente estou configurando meu novo sistema (OS X) e tentando vincular ~/Git/ a /Library/WebServer/Documents/ , para que eu possa acessar todos os meus repositórios git via 127.0.0.1. No entanto, isso não funciona como esperado.

Enquanto eu era capaz de ligar simbolicamente outros diretórios:

ln -s / ~/Desktop/root
ln -s ~ ~/Desktop/home

apenas não quer trabalhar com o meu diretório ~/Git :

sudo ln -s ~/Git /Library/WebServer/Documents/Git
ln -s ~/Git ~/Desktop/Git

O link é criado, mas está me dizendo The operation can’t be completed because the original item for “Git” can’t be found. Onde quer que eu coloque, o comportamento é sempre o mesmo. Também parece ser o mesmo com outros diretórios no meu diretório pessoal (exceto o próprio diretório home).

ls -l ~/Desktop
lrwxr-xr-x  1 user  staff   1 Jul  8 08:31 : -> /
lrwxr-xr-x  1 user  staff   4 Jul  9 12:50 Git -> /Users/user/Git
lrwxr-xr-x  1 user  staff  29 Jul  8 08:38 wwwroot -> /Library/WebServer/Documents/
lrwxr-xr-x  1 user  staff  19 Jul  8 08:31 ~ -> /Users/user
    
por Marcello Mönkemeyer 09.07.2015 / 09:48

1 resposta

2

Normalmente (porque o shell padrão no OSX é bash), o til ( ~ ) é expandido para o diretório inicial. Isso está documentado no Manual de Referência do Bash: Expansão do Tilde .

No entanto, sua listagem de diretórios mostra que você criou uma entrada "~" em sua área de trabalho, ignorando o comportamento padrão (citando, como mencionado em Como expandir manualmente uma variável especial (ex: ~ til) no bash ), ou devido a algum erro encontrar o diretório home real. Já que você diz que isso está no diretório any , parece que (durante a criação da conta), você moveu / renomeou coisas, por exemplo, uma unidade de disco diferente, para que o bash não encontre nenhum diretório local onde deveria. Então você recebe um literal "~" .

    
por 09.07.2015 / 11:43