В каком порядке GNU env выводит переменные среды?

В каком порядке GNU env выводит переменные среды?

При вызове без аргументов команды envи printenvиз GNU Coreutils печатают значение каждой переменной среды. Что определяет порядок, в котором печатаются эти переменные? Это не алфавитный порядок и не порядок, в котором переменные были заданы.

решение1

У каждого процесса есть список строк, которые он поддерживает в качестве своей среды. Когда вы добавляете, изменяете или удаляете элементы из этого списка, библиотека времени выполнения должна обновить соответствующий массив. Поскольку нет стандартного требования для поддержания этого в отсортированном виде, среда выполнения использует то, что разработчики посчитали самым быстрым способом обновления списка. Соображения производительности - вот чтоопределятьприказ.

Для получения более подробной информации, конечно,исходный кодenvдоступен для проверки. Он выводит среду в том порядке, в котором ее environиспользует массив.

Связанный контент