回答:
PATHが最初に設定される場所は/etc/login.defs
です。rootの設定と他の全員の設定があります。
環境変数を定義できる別の場所はです/etc/environment
。これらの設定は全員に適用されます(任意のシェルコードをそこに書くことはできません)。
環境変数を定義できる3番目の場所はです/etc/profile
。そこで、任意のシェルコードを記述できます。ユーザー固有の設定が必要な場合は、対応するユーザーごとのファイルがあります~www-data/.profile
。ただし、これはコンソールの対話型ログインにのみ適用されます。特に、明示的にsourceしない限り、cronジョブには適用されません/etc/profile
。
PATH
ユーザーcrontabでその設定のみが必要な場合は、crontabの先頭に設定できます。完全なリスト(PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin
)が必要なことに注意してくださいPATH=$PATH:/usr/local/zend/bin
。変数置換を使用することはできません(そこでは機能しません)。
/etc/login.defs
無視される理由はありますか?ENV_PATH
.bashrcが読み込まれると、更新して$ PATHをエコーします。途中のどこかで変更されているか、古い値が表示されているため更新されていません。コンピューターを再起動しました-そうではありません。
PATH
、他の方法に加えて、または他の方法の代わりに定義する独自の方法があります。
ルートを除くすべてのユーザーのパスを設定するには、編集/etc/profile
またはを選択し/etc/enviroment
ます。ルートまたは個々のユーザーの.bashrc
場合.bash_profile
は、それぞれ自分のまたはホームディレクトリで編集します。を追加しPATH=$PATH:/new/location/
ます。
に負担をかけずにすべてのユーザーにvarを設定するにはprofile
、次の/etc/profile.d
ようなディレクトリに独自の小さなスクリプトを追加します。
echo 'PATH="/usr/local/zend/bin:$PATH"' > /etc/profile.d/zend_path.sh
その後、再ログインします。
nano / etc / profile
これらの行をファイルの最後に追加します。
JAVA_HOME = / opt / jdk-12.0.1をエクスポートします
export MAVEN_HOME = / opt / apache-maven-3.6.1
export M2_HOME = / opt / apache-maven-3.6.1
export M2 = / opt / apache-maven-3.6.1 / bin
export PATH = $ JAVA_HOME / bin:$ M2:$ PATH
ファイルを保存します。再起動するか、以下のコマンドを使用します。
ソース/ etc / profile
設定をテストします。
echo $ JAVA_HOME
javac --version