Linux
如何在沒有 root 訪問權限的情況下設置路徑變數?
我的大學目前使用一個非常舊的(比如 3 歲)openJDK 1.7 發行版。作為一名學生,顯然我沒有root權限。我想使用更新的版本,因為我的一個應用程序(solr)需要它,所以從他們的官方網站下載了更新的版本。
我下載了 JRE 1.8 並使用檢查了解釋器
saikrishnac@chervil:~/jre18/bin$ ./java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) saikrishnac@chervil:~/jre18/bin$
結果和預期的一樣。現在我想將應用程序發出的所有 java 呼叫定向到這個 bin。但是,預設情況下,這就是大學所執行的
saikrishnac@chervil:~$ java -version java version "1.7.0_91" OpenJDK Runtime Environment (IcedTea 2.6.3) (7u91-2.6.3-1~deb8u1) OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode) saikrishnac@chervil:~$
所以,我猜我需要
JAVA_PATH
更改/etc/profie
. 但我只有隻讀訪問權限,因此我無法添加以下內容。export JAVA_HOME="path" export PATH=$JAVA_HOME/bin:$PATH
以上建議在:https ://stackoverflow.com/questions/24641536/how-to-set-java-home-in-linux-for-all-users
概括
那麼,是否有任何解決方法可以僅更改我的使用者帳戶的路徑。我的意思是,當我在我的帳戶中執行 java 時,我希望它使用 jre18 二進製文件執行。
您提供的指南告訴您如何為所有使用者全域設置這些變數。由於您只想為自己設置這些,因此您應該將它們放在~~
~/.bashrc
~~EDIT 中:正如 Gilles 在下面的評論中指出的那樣,.bashrc
用於互動式設置,在某些情況下很少會出錯。相反,您應該將它們放入.profile
.