Linux环境变量集,但未使用

Linux环境变量集,但未使用,linux,environment-variables,Linux,Environment Variables,我在/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变量时,此变量不会出现。当我“呼应”它时

我在
/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兼容的shell在登录启动时会加载其自己的配置文件,通常名为
/etc/rc
(即
/etc/bashrc
/etc/zshrc
等)、配置文件设置(
/etc/profile
)以及用户主目录中的相应文件

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


您还可以尝试运行
bash--login-x
,查看正在执行哪些命令

你重新记录了吗?注意:此文件在您登录时读取。或者至少通过运行“bash”或任何shell调用新的子shell,查看它是否以这种方式读取新环境。您可能缺少导出。尝试导出MYVAR_HOME=/include/varI首先导出,然后注销并登录,它现在就存在了。有点容易!感谢您针对交互式shell的用户特定环境,请考虑编辑<代码> ~/.BASHC