是否有一些本机函数(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"
答案 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
它还处理符号链接。