使用Bash在给定当前目录的情况下将绝对路径转换为相对路径

使用Bash在给定当前目录的情况下将绝对路径转换为相对路径

例:

absolute="/foo/bar"current="/foo/baz/foo"# Magicrelative="../../bar"

我如何创造魔法(希望不是太复杂的代码......)?


心有法竹
浏览 1355回答 3
3回答

慕婉清6462132

使用GNU coreutils 8.23中的realpath是最简单的,我认为:$ realpath --relative-to="$file1" "$file2"例如:$ realpath --relative-to=/usr/bin/nmap /tmp/testing../../../tmp/testing

MMTTMM

$ python -c "import os.path; print os.path.relpath('/foo/bar', '/foo/baz/foo')"得到:../../bar
打开App,查看更多内容
随时随地看视频慕课网APP