![相对符号链接未在子目录中解析](https://linux22.com/image/139131/%E7%9B%B8%E5%AF%B9%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5%E6%9C%AA%E5%9C%A8%E5%AD%90%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%A7%A3%E6%9E%90.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
由于我实际上想让 Makefile 中的包含工作有效,因此我将其更改include
为从环境变量中获取值,并将其设置为 的绝对路径/home/me/mydir
,即:
CACHE_ROOT?=..
include $(CACHE_ROOT)/makefiles/base.mk
看完之后这个很好的答案,我意识到绝对路径是唯一的解决方案。