如果我输入一个终端,

export DISPLAY=:0.0

... shell在哪里存储环境变量?

我用的是Ubuntu 8.10.我查过文件了~/.配置文件和/etc/profile,找不到显示的痕迹.

推荐答案

进程的环境变量存在于运行时,并且不存储在某个文件中.它们被存储在进程自身的内存中(在那里它们被发现会传递给子元素们).但里面有一个虚拟文件

/proc/pid/environ

该文件显示调用进程时传递的所有环境变量(除非进程重写了其内存的这一部分——大多数程序不会).内核通过该虚拟文件使它们可见.你可以把它们列出来.例如,要查看流程3940的变量,可以执行以下操作:

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

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

Linux相关问答推荐

创建守护进程时打开0,1,2描述符

我使用Windows 10,但我无法在我的WSL2上下载vscode

在Groff mm中定义页眉不会更改第一页中的页眉

如果在两种模式之间找到文本,则使用sed删除它们之间的所有行

从 ALSA USB 硬件设备获取 USB 设备文件路径

动态链接ELF文件是否需要ELF节头表?

Linux 如何使用 PCID 的值?

使用 sed 从文本文件中删除特定字符串

我有 ext2 格式的文件系统图像.我喜欢在终端中读取 Linux 特别是 Ubuntu 中的所有文件系统 struct 数据.有没有工具>

使用 bash 在包含模式的 java 文件中查找行,然后替换该行的另一部分

Linux/Unix 手册页语法约定

使用 AWS cli 从 AWS 机密管理器解析机密

如何有效地使用 grep?

使用 C++ 代码在 Linux 中清除终端

vscode 总是请求保存权限

如何在shell的递归目录中列出特定类型的文件?

JAVA_HOME 和 PATH 已设置,但 java -version 仍显示旧版本

grep 递归查找 Linux 上的特定文件类型

Bash:如何标记字符串变量?

如何在 linux 中使用 CMake 和 Kdevelop 编译 GLUT + OpenGL 项目?