节点中是否有类似" path.resolve"的API? 还是有什么可以做的?
例如(nodejs代码):
应该得到:
-
从技术上讲,它不是绝对的波浪号扩展。
~sample.sh 是绝对路径(它所指的内容不会基于CWD更改)。 代字号只是用户(绝对)主目录路径的快捷方式。 - 扩展波浪号到主目录的可能副本
解决
如果要通过Go代码执行此操作,则可以使用
原始答案如下。
您可以使用
例如:
1 2 | base :="/home/bob" fmt.Println(path.Join(base,"work/go","src/github.com")) |
输出:
1 | /home/bob/work/go/src/github.com |
您可以使用
您可以使用
例如:
1 | fmt.Println(filepath.Abs("/home/bob/../alice")) |
输出:
1 | /home/alice <nil> |
在Go Playground上尝试示例。
参见相关问题:从相对路径解析绝对路径
-
这似乎是一条红色的鲱鱼-
Join 与提出的问题没有任何关系,Clean 也没有。 直到最后三段或问题得到解决。 -
@Adrian问题的第一个版本没有提到解析
~ ,只是解析路径。 但是,是的,它们不再相关。 - 嗯,很公平,没有看到它已被编辑。
- @Adrian编辑了答案,使其很明显。