将路径位置设置为符号链接有缺点吗?

将路径位置设置为符号链接有缺点吗?

我正在设置 JAVA_HOME 并使用替代位置

/usr/lib/jvm/jre

这是当前活动安装的绝对路径的 simlink。

使用这个符号链接位置有缺点吗?

我读过的其他文章建议使用 oneliners,最终指向绝对路径;例如:

JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

我只是不知道为什么没有人建议使用我设置的简单位置。到目前为止,我还没有遇到任何问题,但也许在某些特殊情况下该解决方案不起作用?

答案1

不,在这种情况下使用符号链接很好,而且通常更可取。例如,假设您有类似的内容:

/opt/some-program-2.0/bin/

包含一组二进制文件,然后您可以创建一个符号链接:

/opt/some-program -> /opt/some-program-2.0

并添加/opt/some-program/bin到路径中。将来,当some-program-3.0出来时,您可以创建:

/opt/some-program-3.0/

并更新符号链接以指向新目录。这样一来,其他任何事情都不需要改变。

Distro 对 JVM 的管理通常遵循这种模式。

相关内容