別の質問に対するGrzegorz Żurの回答は、それを見事に捉えています。残念ながら、それは他の多くの回答の中に隠されていました.
<ブロック引用>それを行うには複数の方法があります。実際の解決策は目的によって異なります。
変数値は通常、割り当てのリスト、またはシステムまたはユーザー セッションの開始時に実行されるシェル スクリプトのいずれかに保存されます。シェル スクリプトの場合、特定のシェル構文を使用する必要があります。
システム全体
<オール>/etc/environment
ユニークな割り当てのリスト。 /usr/local/something/bin
のようなシステム全体のディレクトリを追加するのに最適です PATH
まで 変数または定義 JAVA_HOME
./etc/xprofile
X Window System セッションの開始中に実行されたシェル スクリプト。これは、X WindowSystem にログインするすべてのユーザーに対して実行されます。 PATH
に適しています /usr/local/something/bin
のようにすべてのユーザーが有効なエントリ .ファイルは他のスクリプトによってインクルードされるため、ユーザーシェルの構文ではなく、POSIX シェル構文を使用してください。/etc/profile
と /etc/profile.d/*
シェルスクリプト。これは、シェルのみのシステムに適しています。これらのファイルは、シェルによってのみ読み取られます。/etc/<shell>.<shell>rc
.シェルスクリプト。単一のシェル固有であるため、これは適切な選択ではありません。
また、/etc/environment
はスクリプト ファイルではなく、1 行に 1 つずつ代入式で構成されています。このファイルにはシステム全体のロケールとパスの設定が保存されるため、最もよく引用される選択肢です。 /etc/profile
の使用 は好ましくありません。 /etc/bash.bashrc
を指すためだけに存在します /etc/profile.d
からエントリを収集する
ユーザー セッション
<オール>~/.pam_environment
.ユニークな割り当てのリスト。すべてのユーザー セッションの開始時に PAM によって読み込まれます。XWindow システム セッションまたはシェルの場合は関係ありません。 HOME
を含む他の変数は参照できません または PATH
そのため、用途が限られています。~/.xprofile
シェルスクリプト。これは、ユーザーが X Window System システムにログインしたときに実行されます。ここで定義された変数は、すべての X アプリケーションに表示されます。 PATH
を拡張するための完璧な選択 ~/bin
などの値 または ~/go/bin
またはユーザー固有の GOPATH
を定義する またはNPM_HOME
.このファイルは他のスクリプトによってインクルードされるため、ユーザー シェルの構文ではなく、POSIX シェル構文を使用してください。ショートカットで起動したグラフィカル テキスト エディタまたは IDE には、これらの値が表示されます。~/.profile
シェルスクリプト。端末または端末エミュレーターから開始されたプログラムに対してのみ表示されます。シェルのみのシステムに適しています。~/.<shell>rc
.シェルスクリプト。単一のシェル固有であるため、これは適切な選択ではありません。一時的な変更の場合:
~$ export PATH=$PATH:~/root/scripts
恒久的な変更のために、この行を /etc/environment
に追加できます 次のようなファイル:
PATH=$PATH:~/root/scripts