Environment-Variables

將路徑位置設置為符號連結有缺點嗎?

  • October 22, 2019

我正在設置 JAVA_HOME 並使用替代位置

/usr/lib/jvm/jre

這是目前活動安裝的絕對路徑的 simlink。

使用這個符號連結位置有缺點嗎?

我讀過的其他文章建議最終指向絕對路徑的oneliners;例如:

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

我只是不知道為什麼沒有人建議使用我設置的簡單位置。到目前為止,我還沒有遇到任何問題,但也許有一些小眾情況下這個解決方案不起作用?

不,在這種情況下使用符號連結很好,而且通常更可取。例如,假設您有類似的東西:

/opt/some-program-2.0/bin/

包含一組二進製文件,然後您可以創建一個符號連結:

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

並添加/opt/some-program/bin到 PATH。將來,當some-program-3.0它出現時,您可以創建:

/opt/some-program-3.0/

並更新符號連結以指向新目錄。這樣,其他任何事情都不需要改變。

Distro 對 JVM 的管理通常遵循這種模式。

引用自:https://unix.stackexchange.com/questions/548128