
다음과 같은 디렉토리 레이아웃이 있습니다.
/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
include
실제로 Makefiles 작업에 포함을 만들고 싶기 때문에 절대 경로로 설정한 환경 변수에서 값을 가져오도록 my 를 변경했습니다. /home/me/mydir
즉, 다음과 같습니다.
CACHE_ROOT?=..
include $(CACHE_ROOT)/makefiles/base.mk
읽고 나서이 훌륭한 답변, 절대 경로가 유일한 해결책이라는 것을 깨달았습니다.