我有以下目录布局:
/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
看完之后这个很好的答案,我意识到绝对路径是唯一的解决方案。