Answers:
设置PATH的第一个位置是/etc/login.defs
。有一个root设置,其他所有设置。
可以定义环境变量的另一个地方是/etc/environment
。这些设置将适用于所有人(您不能在此处编写任意的shell代码)。
可以定义环境变量的第三位是/etc/profile
。在那里您可以编写任意的shell代码。如果需要特定于用户的设置,则有相应的每用户文件~www-data/.profile
。但这仅适用于控制台交互式登录。特别是它不适用于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
将这些行添加到文件末尾:
导出JAVA_HOME = / opt / jdk-12.0.1
出口MAVEN_HOME = / opt / apache-maven-3.6.1
导出M2_HOME = / opt / apache-maven-3.6.1
出口M2 = / opt / apache-maven-3.6.1 / bin
导出PATH = $ JAVA_HOME / bin:$ M2:$ PATH
保存文件。重新启动或使用以下命令:
来源/ etc / profile
测试您的设置:
回声$ JAVA_HOME
javac --version