Unix/Linux - 相对路径名相对于绝对路径名的优势

Unix/Linux - 相对路径名相对于绝对路径名的优势

我试图弄清楚使用相对路径名相对于绝对路径名有什么好处。我知道每一个是什么。

我想当我们到当前位置的路径很长时,使用相对路径名很容易。例如 - 命令 mkdir:

mkdir backup/old ----> : 相对路径 ----> 更好

mkdir /home/me/backup/old ----> : 绝对路径

但我试图找到相对路径名的另一个优点(只有一个),但我找不到。

您能详细解释一下这个问题吗?

答案1

  1. 打字更快更容易,因此出错的机会更少
  2. 创建符号链接时可移植(位置无关)

答案2

相对路径名相对于绝对路径名的优点

相对路径的一大优点是在使用标准文件系统布局时可以容纳发行版包的暂存。例如,如果二进制文件 in/usr/bin/需要数据 in /usr/share/,则 a DATADIRof../share/意味着该二进制文件可以安装在任何地方并且该二进制文件可以找到其数据。

这种情况经常出现在使用DESTDIR.该软件包可以位于相当于with和 的位置,而不是单独安装/usr/bin/usr/local/bin使用。二进制文件位于,数据位于。BINDIR/opt/usr/$(DESTDIR)$(PREFIX)DESTDIR=/opt/PREFIX=/usrBINDIR=/opt/usr/binDATADIR=/opt/usr/bin/../share

另请参阅DESTDIR在 GNU 编码标准中。

答案3

获取configure任何开源软件的脚本。

例如,如果您有带有 2 个子模块的 git reponew_editor并且您正在为其编写安装脚本,则不能编写:

#!/bin/bash
#.........
/home/kashyap/workspaces/new_editor/module1/install.sh
/home/kashyap/workspaces/new_editor/module2/install.sh
#.........

你应该写

#!/bin/bash
#.........
./module1/install.sh
./module2/install.sh
#.........

相关内容