Мягкая символическая ссылка Mac разрешено - PullRequest
0 голосов
/ 25 ноября 2018

Я уже час бьюсь головой.Контекст: я решил поместить свои дотфайлы в репозиторий и дать им ссылку.Я попытался использовать символическую ссылку и получил отказ в разрешении, поэтому я решил попробовать простую символическую ссылку, и она просто не будет работать.

Я создал testFolder (/ Users / myUserName / testFolder):

drwxr-xr-x   3 myUserName  staff   102 24 Nov 16:47 testFolder

Внутри есть тестовый файл:

-rw-r--r--  1 myUserName  staff  53 24 Nov 16:47 test.sh

Итак, я создал символическую ссылку для проверки символических ссылок в родительской папке с помощью этой команды:

myUserName testFolder $ ln -s test.sh ../test.sh

Я иду в родительскую папку иполучить эту символическую ссылку:

lrwxr-xr-x   1 myUserName  staff     7 24 Nov 16:52 test.sh -> test.sh

По некоторым причинам, когда я пытаюсь отредактировать его, я получаю В доступе отказано .Если я сделаю символическую ссылку в той же папке, я могу отредактировать ее, и никакое разрешение не будет отклонено!Кто-нибудь сталкивался с этим?Должно быть, я что-то делаю не так.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Символьные ссылки с относительными путями разрешаются относительно каталога, в котором находится символическая ссылка, а не относительно каталога, в котором вы были при создании.Поэтому, когда вы запускаете это:

ln -s test.sh ../test.sh

Вы создаете символическую ссылку, которая указывает на файл с именем test.sh в том же каталоге, что и символическая ссылка , то есть сама по себе.Что вы хотите сделать, это:

ln -s testFolder/test.sh ../test.sh

, который создает символическую ссылку на test.sh в подкаталоге testFolder в каталоге, в котором находится символическая ссылка.

0 голосов
/ 25 ноября 2018

Ах!Нашел ответ!Вы не можете поместить относительные ссылки в первый аргумент !!Вы ДОЛЖНЫ поставить абсолютный путь в первый аргумент, как это:

$ ln -s absolute-path-to-source ../test.sh
...