Относительные символические ссылки не разрешаются в подкаталоге

Относительные символические ссылки не разрешаются в подкаталоге

У меня следующая структура каталогов:

/home/me/mydir
  \- tiller -> ./cache/git-repo1/subdir1/tiller
  \- makefiles -> ./cache/git-repo2/subdir2/makefiles

Когда я вхожу в /home/me/mydirсистему, если печатаю, ls -lто получаю то, что и ожидалось.

Однако если я изменю /home/me/mydir/tillerи наберу текст, ls ../makefilesто получу сообщение об ошибке:ls: ../makefiles: No such file or directory

Как я могу получить доступ, /home/me/mydir/makefilesиспользуя относительный путь из /home/me/mydir/tiller, или единственный вариант — использовать абсолютный путь?

Редактировать: Я думаю, я бьюэтот. Есть ли решение? Мне действительно нужно <cmd> ../makefilesработать изнутри /home/me/mydir/tiller.

решение1

Так как я действительно хочу, чтобы включения в Makefile работали, я изменил его так, includeчтобы он принимал значение из переменной окружения, которую я установил равным абсолютному пути /home/me/mydir, то есть:

CACHE_ROOT?=..
include $(CACHE_ROOT)/makefiles/base.mk

После прочтенияэтот отличный ответ, я понял, что абсолютные пути — единственное решение.

Связанный контент