【发布时间】:2014-06-13 12:13:11
【问题描述】:
这个问题与 bash shell 相关
首先,我知道如何查看当前设置的环境变量。
我想知道如何按照设置的顺序列出当前设置的环境变量。有点像“ls -lt”,但用于环境变量。
这可能吗?
编辑:很多人问我为什么需要这个。
我做了很多调试、代码移植、修复等工作。这需要我尝试编写并不总是很好的第三方代码。在成功构建的过程中,我可能需要设置、覆盖一些环境变量。我很擅长记录我在做什么,这样我就可以追溯我的步骤。但有时我会忘记或错过记录我的步数。
出于很好的原因,我们的环境有大量的环境变量。
那时我可以捕获整个环境变量,但这对我没有多大帮助。如果 bash 有办法按照设置的顺序列出环境变量,我可以清楚地识别我设置的内容。
另外,我同意 bash 没有理由跟踪这一点。但我希望它有一个内部的环境变量堆栈,它会自动按后进先出排序。但我想这太乐观了。
感谢大家。
【问题讨论】:
-
我不相信它是。没有。
-
您是否有一套特定的环境变量,或者您想为整个环境执行此操作?
-
我想不出 bash 跟踪该信息的任何特殊原因。
-
为什么你想要这个?听起来像是 X-Y 问题。
-
你需要这个做什么?如果它只是为了您个人的 bash 使用,您可以使用别名
export来包含这样的功能:function trackenv_export() { export "$@" && echo "$*" >> "$HOME"/.env_track; }; alias export=trackenv_export。但这很混乱,可能不是你想要的。