如果我在终端输入
export DISPLAY=:0.0
… shell在哪里存储该环境变量?
我正在使用Ubuntu 8.10。我查看了文件〜/ .profile和/ etc / profile,找不到DISPLAY的痕迹。
进程的环境变量在运行时存在,并且未存储在某些文件中。它们存储在进程自己的内存中(在那里,它们会传递给子进程)。但是其中有一个虚拟文件
/ proc / _pid_ /环境
该文件显示了在调用进程时传递的所有环境变量(除非进程覆盖了其内存的那部分- 大多数程序不会)。内核使它们通过该虚拟文件可见。一个可以列出他们。例如,要查看过程3940的变量,可以执行
cat /proc/3940/environ | tr '\0' '\n'
每个变量都由下一个变量用二进制零定界。tr将零替换为换行符。