0

是否有一些本机函数(shell、linux 命令)来合并/计算完整路径?

例子:

old_path="~/test1/test2/../dir3//file.txt"
new_path=FUN($old_path)

echo "$new_path"   // I want get this "/home/user/test1/dir3/file.txt"    
4

2 回答 2

0

  new_path=$(eval cd "$old_path"; pwd)

为你工作?pwd -P如果您想解析符号链接,也可以使用。如果你使用$HOME而不是~in ,你可以让生活更轻松old_path。那么你不需要eval.

于 2013-06-13T06:08:08.160 回答
0

使用readlink

$ readlink -m ~/foo.txt
/home/user/foo.txt
$ readlink -m ~/somedir/..foo.txt
/home/user/foo.txt

它还处理符号链接。

于 2013-06-13T06:09:56.527 回答