如果我输入终端,
export DISPLAY=:0.0
...存储该环境变量的shell在哪里?
我正在使用Ubuntu 8.10。我查看了〜/ .profile和/ etc / profile文件,找不到DISPLAY的痕迹。
答案 0 :(得分:101)
进程的环境变量在运行时存在,并且不存储在某个文件中。它们存储在进程自己的内存中(这是他们发现传递给子进程的地方)。但是
中有一个虚拟文件/proc/pid/environ
此文件显示调用进程时传递的所有环境变量(除非进程覆盖了其部分内存 - 大多数程序没有)。内核通过该虚拟文件使它们可见。人们可以列出它们。例如,要查看过程3940的变量,可以执行
cat /proc/3940/environ | tr '\0' '\n'
每个变量由下一个变量的二进制零分隔。 tr将零替换为换行符。
答案 1 :(得分:32)
输入“set”,您将获得所有当前变量的列表。 如果你想要持久的东西把它放在〜/ .bashrc或〜/ .bash_profile中(如果你使用的是bash)
答案 2 :(得分:10)
如果您想将环境用于系统范围,可以使用/etc/environment
文件。
答案 3 :(得分:7)
它存储在进程(shell)中,因为您已导出它,所以处理生成的任何进程。
执行上述操作不会将其存储在/ etc / profile等文件系统中的任何位置。你必须明确地将它放在那里才能实现。
答案 4 :(得分:0)
有 1 个文件可用于存储环境变量。
<块引用>.bashrc
您可以添加变量并使用它们。例如,我添加了 Django virtual env 作为环境变量,现在我可以在任何地方访问它。将此添加到您的 bashrc 文件
django_env='source/media/anish/Softwares/virtual_env/django2/bin/activate'
现在您需要重新启动系统以反映更改,并在重新启动后输入 $django_env 以启动您的虚拟环境。就这么简单。
答案 5 :(得分:-7)
该变量未存储在某些脚本中。它只是由X服务器脚本设置。您可以使用 set 检查当前设置的环境变量。