OS X - ln -s в каталоге в ~ показывает странное поведение

471
Marcello Mönkemeyer

В настоящее время я настраиваю свою новую систему (OS X) и пытаюсь подключиться ~/Git/к ней /Library/WebServer/Documents/, чтобы я мог получить доступ ко всем своим репозиториям git через 127.0.0.1. Тем не менее, это не работает, как ожидалось.

Пока я смог найти символическую ссылку на другие каталоги:

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

он просто не хочет работать с моим ~/Gitкаталогом:

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

Ссылка создана, но она говорит мне, The operation can’t be completed because the original item for “Git” can’t be found.где бы я ее ни размещал, поведение всегда одинаково. Это также похоже на то же самое с другими каталогами в моем домашнем каталоге (за исключением самого домашнего каталога).

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 
1

1 ответ на вопрос

2
Thomas Dickey

Normally (because the default shell on OSX is bash), tilde (~) is expanded to your home directory. That is documented in the Bash Reference Manual: Tilde Expansion.

However, your directory listing shows that you have created an entry "~" in your desktop, either by bypassing the default behavior (quoting, as mentioned in How to manually expand a special variable (ex: ~ tilde) in bash), or due to some error finding the actual home-directory. Since you say this is in any directory, it sounds as if (during the account creation), you have moved/renamed things, e.g., a different disk drive, so that bash finds no actual directory at the location where it should. So you get a literal "~".

Хм, если подумать, я изменил язык с немецкого на английский. После этого я заметил, что OS X фактически не переименовывает материал в моем домашнем каталоге. Поэтому, работая с оболочкой, я могу получить к ней доступ через английские имена каталогов. Однако при работе с Finder все по-прежнему отображается на немецком языке. Я еще не нашел причину для этого. Может ли это быть проблемой? Если так, как я могу переименовать этот материал, чтобы мой Finder нашел действительный каталог? Marcello Mönkemeyer 9 лет назад 0
Неважно, это просто символические ссылки, которые мне нужно было переименовать ... все еще работающие в темноте. Все правильно названо по-английски, и оболочка расширяет `~` до моего домашнего каталога. Тем не менее, он не находит источник (который существует, хотя). Это сводит меня с ума прямо сейчас ... Marcello Mönkemeyer 9 лет назад 0
Хорошо, я исправил это. Вы были правы: парень, который установил OS X для меня, изменил и переименовал довольно много вещей. Я создал совершенно нового пользователя, и теперь он работает. Спасибо за важный намек. :) Marcello Mönkemeyer 9 лет назад 0