我怎样才能在bash中诋毁符号链接?

Dav*_*ean 42 bash symlink

如何获取任何给定路径bash并将其转换为规范形式,取消引用路径中可能包含的任何符号链接?

例如:

~$ mkdir /tmp/symtest
~$ cd /tmp/symtest/
/tmp/symtest$ mkdir -p foo/bar cat/dog
/tmp/symtest$ cd foo/bar/
/tmp/symtest/foo/bar$ ln -s ../../cat cat
/tmp/symtest/foo/bat$ cd ../../
/tmp/symtest$ tree
.
|-- cat
|   `-- dog
`-- foo
    `-- bar
       `-- cat -> ../../cat

6 directories, 0 files
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得完整的规范路径/tmp/symtest/foo/bar/cat(即:)/tmp/symtest/cat

Dav*_*ean 59

感谢Andy Skelton,答案似乎是readlink -f:

$:/tmp/symtest$ readlink -f /tmp/symtest/foo/bar/cat
/tmp/symtest/cat
Run Code Online (Sandbox Code Playgroud)