是否有一些shell全路径功能?

时间:2013-06-13 05:56:16

标签: shell pathname

是否有一些本机函数(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"    

2 个答案:

答案 0 :(得分:0)

确实

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

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

答案 1 :(得分:0)

使用readlink

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

它还处理符号链接。