如果我有一个symlink文件夹,例如:
/home/user/foo/foo2 -> /home/user/bar/bar2
到我的CD :/home/user/foo/foo2
。
如果执行a pwd
,则返回:/home/user/foo/foo2
。伟大的!
但是如果我然后ls ../
它将返回的内容/home/user/bar
。
是否可以通过某种方法使程序知道它在symlink文件夹中,所以如果它进入目录,则会跟随反向链接?
在一般情况下,不会。您不在foo2中。这是一种幻想。您的外壳保留了幻觉,这就是为什么它可以看到它的原因。但是任何子进程都不知道
我会检查$ PWD env变量。查看您的shell是否将其设置为幻觉,子进程可以看到它。但这只会在您控制的代码中起作用。您知道您检查了$ PWD。其他应用程序将(实际上)调用cwd()。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句