web-dev-qa-db-ja.com

どのシステムファイルで「エクスポート」コマンドが変更を行いますか?

PPAを使用してJava-8をインストールしました。その後、私はコマンドを与えました:

export Java_HOME=/usr/lib/jvm/Java-8-Oracle

このコマンドは一時的な変更を行うとどこかで聞いたことがあります。しかし、多くのログアウトとログインの後、これらのコマンドは引き続き機能します(export ...コマンドが原因だと思います):

Java -version
javac -version

しかし、私がコマンドを与えるとき:

export -p

環境変数のリストが表示されますが、そのリストには変数Java_HOMEは表示されません。さらに、コマンドJavaおよびjavacがどのように機能するのか疑問に思います!

誰かがどのファイルexportコマンドで変更を行うか教えてもらえますか?それらは一時的なものですか、それとも永続的なものですか?そして、上記の他に何が起こりますか?詳しく説明してください!

2
Ankur Shah

exportはシェルコマンドです。現在実行中のシェルのインスタンスに影響します。どのファイルにも変更を加えません。変更は一時的なもので、シェルが終了するまで有効です。シェルで新しい変数を設定し、その変数から開始された他のプログラムで使用できるようにするには、exportそれを使用します。見る:

Javaおよびjavacは、PPAを使用してJavaをインストールし、インストールによりこれらのコマンドがPATHに自動的に追加されたため、動作する可能性があります。 PATH環境変数とその追加方法 )。具体的には、バージョンを確認するだけではJava_HOME変数は必要ありません。設定するかどうかは、そして、どうやら Java_HOMEは他のアプリケーションで使用されます 、JavaコンパイラーまたはJVMではありません。

6
muru