
我有以下目錄佈局:
/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
因為我實際上想讓 Makefiles 中的包含工作,所以我將我的更改include
為從環境變數中獲取值,我將其設定為 的絕對路徑/home/me/mydir
,即:
CACHE_ROOT?=..
include $(CACHE_ROOT)/makefiles/base.mk
看完之後這個很好的答案,我意識到絕對路徑是唯一的解決方案。