Em que ordem o GNU env imprime variáveis ​​de ambiente?

Em que ordem o GNU env imprime variáveis ​​de ambiente?

Quando invocados sem argumentos, os comandos enve printenvdo GNU Coreutils imprimem o valor de cada variável de ambiente. O que determina a ordem em que essas variáveis ​​são impressas? Não é a ordem alfabética, nem a ordem em que as variáveis ​​foram definidas.

Responder1

Cada processo possui uma lista de strings que mantém como seu ambiente. Quando você adiciona, modifica ou exclui itens desta lista, a biblioteca de tempo de execução precisa atualizar a matriz correspondente. Como não há nenhum requisito padrão para manter isso na forma classificada, o tempo de execução usa o que os desenvolvedores decidiram ser a maneira mais rápida de atualizar a lista. Considerações de desempenho são o quedeterminara ordem.

Para obter mais informações, é claro, ocódigo fonte deenvestá disponível para inspeção. Ele imprime o ambiente na ordem que o array environusa.

informação relacionada