如何找到环境变量的源定义?

如何找到环境变量的源定义?

我的操作系统中有一个全局环境变量,它被声明为FOOBAR

当我回应它时,我收到了正确的输出:

$ echo $FOOBAR
localhost%6200

我想知道在哪里定义,因为我需要为某些进程更新其值。目前,我在执行进程之前在脚本中手动声明此值,只是为了覆盖它:

#!/bin/sh
# other comands...
export FOOBAR=localhost%16200
# rest of script

不过,我很好奇为什么我找不到这个变量的定义。

我曾经看过几篇类似的帖子:

我研究了~/.bashrc、、/etc/profile脚本/etc/profile.d/,执行了多条命令并尝试了不同的变化,例如在全部/etc和中搜索/home/MyUser,但仍然没有运气。

我得到的唯一提示是通过搜索得到的输出/home/MyUser

$ find /home/MyUser -type f -exec grep -F FOOBAR {} +
... lines ...
/home/MyUser/.xsession-errors:dbus-update-activation-environment: setting FOOBAR=localhost%6200

然后我尝试使用此命令查看为 dbus 定义的变量

$ systemctl --user show-environment
... among other variables ...
FOOBAR=localhost%6200

我看见了它!

我如何跟踪这个环境变量定义?

相关内容