As variáveis de ambiente são definidas pelo POSIX para um shell ou para qualquer processo que não execute necessariamente o shell?

0

De APUE

Some environment variables are defined by POSIX.1 in the Single UNIX Specification, whereas others are defined only if the XSI option is supported. Figure 7.7 lists the environment variables defined by the Single UNIX Specification and notes which implementations support the variables. Any environment variable defined by POSIX.1 is marked with •; otherwise, it is part of the XSI option. Many additional implementation-dependent environment variables are used in the four implementations described in this book. Note that ISO C doesn’t define any environment variables.

enter image description here

As variáveis de ambiente são definidas pelo POSIX para um shell ou para qualquer processo que não execute necessariamente o shell?

Obrigado.

Minha postagem é inspirada em Quais são as variáveis de ambiente por padrão?

    
por Tim 25.04.2018 / 01:24

1 resposta

2

Eles são definidos para qualquer processo, mas não precisam existir em nenhum processo (como regra geral).

POSIX dá significado a diversas variáveis de ambiente. Deve ser pensado como um dicionário; o fato de uma variável ser definida em POSIX não significa que ela exista (a menos que sua definição o diga), mas se a variável estiver presente em qualquer ambiente de processo, seu valor deve ser entendido (e, para utilidades em é relevante, aplicado de acordo com a definição POSIX.

If the variables in the following two sections are present in the environment during the execution of an application or utility, they shall be given the meaning described below. Some are placed into the environment by the implementation at the time the user logs in; all can be added or changed by the user or any ancestor of the current process.

Como sempre "colocado no ambiente" deve ser entendido como afetando a árvore de processos relevante (filhos criados com o conjunto de variáveis), não há ambiente global.

    
por 25.04.2018 / 07:30