別の質問に対する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