一尘不染

Linux:环境变量存储在哪里?

linux

如果我在终端输入

export DISPLAY=:0.0

… shell在哪里存储该环境变量?

我正在使用Ubuntu 8.10。我查看了文件〜/ .profile和/ etc / profile,找不到DISPLAY的痕迹。


阅读 1358

收藏
2020-06-03

共1个答案

一尘不染

进程的环境变量在运行时存在,并且未存储在某些文件中。它们存储在进程自己的内存中(在那里,它们会传递给子进程)。但是其中有一个虚拟文件

/ proc / _pid_ /环境

该文件显示了在调用进程时传递的所有环境变量(除非进程覆盖了其内存的那部分-
大多数程序不会)。内核使它们通过该虚拟文件可见。一个可以列出他们。例如,要查看过程3940的变量,可以执行

cat /proc/3940/environ | tr '\0' '\n'

每个变量都由下一个变量用二进制零定界。tr将零替换为换行符。

2020-06-03