GNU env 按照什么顺序打印环境变量?

GNU env 按照什么顺序打印环境变量?

在没有参数的情况下调用时, GNU Coreutils 中的envprintenv命令会打印每个环境变量的值。什么决定了打印这些变量的顺序?它不是字母顺序,也不是变量设置的顺序。

答案1

每个进程都有一个字符串列表,它将其作为环境进行维护。当您添加、修改或删除此列表中的项目时,运行时库必须更新相应的数组。由于没有以排序形式维护该列表的标准要求,因此运行时使用开发人员认为最快的方法来更新列表。性能考虑是决定命令。

如需更多信息,源代码env可供检查。它按照数组environ使用的顺序打印环境。

相关内容