Em que ordem as variáveis do ambiente de impressão do GNU env?

2

Quando invocado sem argumentos, os comandos env e printenv do 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 é ordem alfabética, nem é a ordem em que as variáveis foram definidas.

    
por Psychonaut 19.05.2015 / 12:49

1 resposta

4

Cada processo tem uma lista de seqüências de caracteres que ele mantém como seu ambiente. Quando você adiciona, modifica ou exclui itens dessa 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 que era a maneira mais rápida de atualizar a lista. As considerações de desempenho são as que determinam a ordem.

Para mais informações, é claro, o código-fonte de env está disponível para inspeção. Imprime o ambiente na ordem em que a matriz environ usa.

    
por 19.05.2015 / 12:56