web-dev-qa-db-ja.com

$ Java_HOMEが設定されている場所を見つける方法は?

$ Java_HOMEの値を変更しようとしていますが、現在どのファイルに設定されているのかわかりません。前回どこに設定したのか思い出せません。すでに試しました 環境変数がどこから来たのかを判断する方法? しかし、変数を設定できるファイルのリストが必要です。

16
mindreader

シェルを指定していません。したがって、bashを想定します。次の問題は次のとおりです。ユーザー専用に設定しましたか、それともシステム全体に設定しましたか?ユーザーのみに設定する場合は、次のコマンドを実行します。

grep Java_HOME  ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc

システム全体に設定した場合、ディストリビューションによって異なる可能性がありますが、以下を試してください。

grep Java_HOME /etc/environment /etc/bash.bashrc /etc/profile.d/* /etc/profile

上記で答えが得られない場合は、より広いネットをキャストできます。

grep -r Java_HOME /etc
grep -r Java_HOME ~/

環境変数がどこから来たかを判断する方法 の提案も参照してください。

31
John1024

zshの場合:

zsh -xl

bash内:

PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7>&2

これにより、ログインシェルがシミュレートされ、実行されたすべての内容(stderrがzshでリダイレクトされる領域を除く)と現在解釈されているファイルの名前が表示されます。

だからあなたがする必要があるのはJava_HOMEその出力で。 (scriptコマンドを使用して、その出力を保存することができます)。

8