Environment-Variables
將路徑位置設置為符號連結有缺點嗎?
我正在設置 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 的管理通常遵循這種模式。