Linux:环境variables存储在哪里?
如果我inputterminal,
export DISPLAY=:0.0
存储该环境variables的shell在哪里?
我使用Ubuntu 8.10。 我查看了〜/ .profile和/ etc / profile文件,并且没有findDISPLAY的踪迹。
进程的环境variables在运行时存在,并不存储在某个文件中。 它们存储在进程自己的内存中(这是他们被发现传递给孩子的地方)。 但是有一个虚拟文件
/ proc / pid / environ
该文件显示调用进程时传递的所有环境variables(除非该进程覆盖了其部分内存 – 大多数程序不会)。 内核通过该虚拟文件使其可见。 可以列出它们。 例如,要查看进程3940的variables,可以这样做
cat /proc/3940/environ | tr '\0' '\n'
每个variables都由下一个二进制零分隔。 tr将零代入换行符。
input“set”,你将得到所有当前variables的列表。 如果你想要坚持的东西放在〜/ .bashrc或〜/ .bash_profile(如果你使用的是bash)
它存储在进程(shell)中,并且由于已经导出了进程,所有进程都会生成进程。
执行上述操作不会将其存储在文件系统中的任何位置,如/ etc / profile。 你必须明确地把它发生在那里。
如果要将系统环境用于系统,可以使用/etc/environment
文件。
该variables不存储在某个脚本中。 它只是由X服务器脚本设置的。 您可以使用set来检查当前设置的环境variables。