如何获取任何给定路径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)