解除OS X中的符号链接?

在OS X中,我如何取消引用符号链接到规范文件名? (即以/开头的一个)。

也就是说,我相当于GNU readlink的-f选项:

 kapow:~$ greadlink -f .bash_profile /Users/mjs/.config/home/.bash_profile 

OS X的readlink返回一个相对的链接:

 kapow:~$ readlink .bash_profile .config/home/.bash_profile 

stat(1)确实有很多选项,但是我找不出合适的组合来做我想做的事情。

最直接的解决scheme是testing返回值,并且如果发现readlink已经返回了一个相对path而不是存储在链接中的绝对path,那么testingpwd 。 任何不以/开头的东西都很容易用各种unix工具来testing。


我不知道这是否是一个有意识的devise决定,因为OS X更喜欢文件系统别名,它跟踪文件的唯一标识以及path,或者仅仅是从BSD开始的遗漏/差异。 显而易见的是,没有select使用readlink的OS X版本来合成链接文件的完整path。

这里有几个现成的解决scheme来实现从另一个网站的OS X read link -f

如果你是GNU工具的爱好者,你会想要自制软件并安装coreutils软件包 – 然后你可以将greadlink别名为readlink并进行一些小题大做。