我在/etc/environment中添加了一个新的环境变量,现在看起来像这样

$ cat /etc/environment
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
  JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
  MYVAR_HOME=/include/var


当用env列出所有env变量时,此变量不会出现。当我回显它时也不打印它

$ echo $MYVAR_HOME

$


我错过了一些添加步骤吗?

最佳答案

据我记得,/etc/environment不是在初始化Shell时加载的文件。通常,使用登录名启动时,与POSIX兼容的外壳程序在启动时会加载其自己的配置文件,该文件通常名为/etc/<shell-name>rc(即/etc/bashrc/etc/zshrc等),配置文件设置(/etc/profile)和用户主目录中的相应文件。

加载/ etc / profile可能会导致加载其他文件,例如/etc/profile.d/中的文件,但是所有这些其他文件都是从主配置文件中显式加载的,请查找包含source smth或单点的行:. /etc/somefile。您可以检查发行版的/etc/profile中是否提到了/ etc / environment。

您也可以尝试运行bash --login -x并查看正在执行的命令。

关于linux - Linux环境变量集但未使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21336807/

10-15 08:19