![하위 디렉토리에서 상대 심볼릭 링크가 확인되지 않았습니다.](https://linux55.com/image/139131/%ED%95%98%EC%9C%84%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%EC%84%9C%20%EC%83%81%EB%8C%80%20%EC%8B%AC%EB%B3%BC%EB%A6%AD%20%EB%A7%81%ED%81%AC%EA%B0%80%20%ED%99%95%EC%9D%B8%EB%90%98%EC%A7%80%20%EC%95%8A%EC%95%98%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
다음과 같은 디렉토리 레이아웃이 있습니다.
/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
실제로 Makefile에 포함하는 작업을 원했기 때문에 환경 변수에서 값을 가져오고 이를 의 절대 경로로 설정하도록 변경했습니다 /home/me/mydir
.
CACHE_ROOT?=..
include $(CACHE_ROOT)/makefiles/base.mk
읽고 나서이것은 훌륭한 답변입니다, 절대 경로가 유일한 해결책이라는 것을 깨달았습니다.