我想将 /foo/bar/..
转换为 /foo
是否有执行此操作的 bash 命令?
编辑:在我的实际情况下,该目录确实存在。
原文由 Fabien 发布,翻译遵循 CC BY-SA 4.0 许可协议
我不知道是否有直接的 bash 命令来执行此操作,但我通常会这样做
normalDir="`cd "${dirToNormalize}";pwd`"
echo "${normalDir}"
它运作良好。
原文由 Tim Whitcomb 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.6k 阅读
4 回答4.3k 阅读
2 回答972 阅读✓ 已解决
2 回答3.5k 阅读
1 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1.6k 阅读
如果你想从路径中选择文件名的一部分,“dirname”和“basename”是你的朋友,“realpath”也很方便。
realpath
替代品如果你的shell不支持
realpath
,你可以试试还
工作方式与
因为路径不需要存在就可以标准化。