Relação entre os processos de inicialização do shell e o ambiente do processo pai

1

"Como as variáveis do shell estão relacionadas ao ambiente que um processo iniciado pelo shell tem na inicialização?"

Eu leio Se os processos herdarem o ambiente dos pais, por que precisamos exportar?

Meu entendimento atual possivelmente errado é que as variáveis do shell não estão no ambiente. As variáveis devem ser exportadas para o ambiente para que um filho possa herdá-las de um pai, mas não vejo onde a inicialização entra em ação.

    
por user1821961 10.12.2015 / 23:17

1 resposta

1

Seu entendimento atual de "variáveis deve ser exportado para o ambiente para que uma criança possa herdá-las de um pai" parece correto para mim.

Os processos diferentes de um shell possuem variáveis de ambiente, a interface de linguagem C para isso é getenv() e setenv() , de stdlib.h . Os shells do sistema operacional Unix, Linux e * BSD apenas fazem com que variáveis de ambiente pareçam variáveis de shell comuns e não herdadas.

Então, acho que a resposta à sua pergunta específica é: somente as variáveis do shell que são exportadas para o ambiente do shell aparecem no ambiente de um processo filho.

    
por 11.12.2015 / 04:36