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

新手上路,请多包涵

如果我输入终端,

 export DISPLAY=:0.0

…存储该环境变量的外壳在哪里?

我正在使用 Ubuntu 8.10。我查看了文件 ~/.profile 和 /etc/profile 并且找不到 DISPLAY 的踪迹。

原文由 Ben L 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 579
2 个回答

进程的环境变量存在于运行时,而不是存储在某个文件左右。它们存储在进程自己的内存中(在那里它们被发现传递给子进程)。但是里面有一个虚拟文件

/proc/ pid /环境

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

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

每个变量由下一个变量的二进制零分隔。 tr 将零替换为换行符。

原文由 Johannes Schaub - litb 发布,翻译遵循 CC BY-SA 3.0 许可协议

键入 set 您将获得所有当前变量的列表。如果你想要一些东西坚持把它放在 ~/.bashrc~/.bash_profile (如果你使用 bash)

原文由 tddmonkey 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题