Scroll to navigation

ENVIRON(7) Manual do Programador do Linux ENVIRON(7)

NOME

environ - ambiente do usuário

SINOPSE

extern char **environ;

DESCRIÇÃO

The variable environ points to an array of pointers to strings called the "environment". The last pointer in this array has the value NULL. (This variable must be declared in the user program, but is declared in the header file <unistd.h> if the _GNU_SOURCE feature test macro is defined.) This array of strings is made available to the process by the exec(3) call that started the process. When a child process is created via fork(2), it inherits a copy of its parent's environment.

By convention the strings in environ have the form "name=value". Common examples are:

O nome do usuário logado (usado por quaisquer programas derivados do BSD).
O nome do usuário logado (usado por quaisquer programas derivados do System-V).
O diretório do usuário, selecionado por login(1) do arquivo de senhas passwd(5).
The name of a locale to use for locale categories when not overridden by LC_ALL or more specific environment variables such as LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, and LC_TIME (see locale(7) for further details of the LC_* environment variables).
The sequence of directory prefixes that sh(1) and many other programs apply in searching for a file known by an incomplete pathname. The prefixes are separated by ':'. (Similarly one has CDPATH used by some shells to find the target of a change directory command, MANPATH used by man(1) to find manual pages, and so on)
O atual diretório de trabalho. Selecionado por quaisquer interpretadores de comando.
The pathname of the user's login shell.
O tipo de terminal para o qual a saída será preparada.
O utilitário preferido pelo usuário para exibir arquivos texto.
O utilitário preferido pelo usuário para editar arquivos texto.

Names may be placed in the shell's environment by the export command in sh(1), or by the setenv command if you use csh(1).

The initial environment of the shell is populated in various ways, such as definitions from /etc/environment that are processed by pam_env(8) for all users at login time (on systems that employ pam(8)). In addition, various shell initialization scripts, such as the system-wide /etc/profile script and per-user initializations script may include commands that add variables to the shell's environment; see the manual page of your preferred shell for details.

Bourne-style shells support the syntax


NOME=valore comando

to create an environment variable definition only in the scope of the process that executes command. Multiple variable definitions, separated by white space, may precede command.

Argumentos podem também ser colocados no ambiente no ponto de um exec(3). Um programa C pode manipular estas variáveis usando as funções getenv(3), putenv(3), setenv(3) e unsetenv(3).

Note that the behavior of many programs and library routines is influenced by the presence or value of certain environment variables. Examples include the following:

  • The variables LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES, and so on influence locale handling; see catopen(3), gettext(3), and locale(7).
  • TMPDIR influencia o prefixo do nome do caminho de busca criado por tempnam(3) e outras routinas, o diretório temporário usado por sort(1) e outros programas, e assim por diante.
  • LD_LIBRARY_PATH, LD_PRELOAD e outras variáveis LD_* influenciam o comportamento de carregador/ligadores dinâmicos.
  • POSIXLY_CORRECT certifica programas e rotinas de bibliotecas seguindo as prescrições do POSIX.
  • O comportamento de malloc(3) é influenciado pelas variáveis MALLOC_*.
  • A variável HOSTALIASES fornece o nome do arquivo que contém os aliases para serem usados com o gethostbyname().
  • TZ and TZDIR give timezone information used by tzset(3) and through that by functions like ctime(3), localtime(3), mktime(3), strftime(3). See also tzselect(8).
  • TERMCAP fornece informações sobre como tratar um dado terminal (ou fornece o nome de um arquivo contendo informação semelhante).
  • COLUMNS e LINES conta para as aplicações sobre o tamanho da janela, possivelmente sobrescrevendo o tamanho atual.
  • PRINTER ou LPDEST pode especificar o uso de uma determinada impressora. Veja também lpr(1).

NOTAS

The prctl(2) PR_SET_MM_ENV_START and PR_SET_MM_ENV_END operations can be used to control the location of the process's environment.

BUGS

Claramente há um risco de segurança aqui. Muitos vezes um comando de sistema foi levado a agir incorretamente por um usuário especificando valores incomuns para IFS ou LD_LIBRARY_PATH.

Também há o risco da poluição do espaço de nomes. Programas como make e autoconf permite sobrescrever os nomes padrão dos utilitários a partir do ambiente com variáveis nomeadas com similaridade em todas capturas. Deste modo, alguns usam CC para selecionar o compilador C desejado (e similarmente MAKE, AR, AS, FC, LD, LEX, RM, YACC, etc.). Entretanto, em alguns usos tradicionais como uma variável de ambiente fornecendo opções para o programa ao invés de nome de caminho. Deste modo, alguns temMORE, LESS e GZIP. Como uso sendo considerado misto, e para ser desconsiderado em novos programas. Os autores de gzip deveriam considerar o renomeamento desta opção para GZIP_OPT.

VEJA TAMBÉM

bash(1), csh(1), env(1), login(1), printenv(1), sh(1), tcsh(1), execve(2), clearenv(3), exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3), locale(7), ld.so(8), pam_env(8)

COLOFÃO

Esta página faz parte da versão 5.10 do projeto Linux man-pages. Uma descrição do projeto, informações sobre relatórios de bugs e a versão mais recente desta página podem ser encontradas em https://www.kernel.org/doc/man-pages/.

TRADUÇÃO

A tradução para português brasileiro desta página man foi criada por André Luiz Fassone <lonely_wolf@ig.com.br> e Roberto Selbach Teixeira <robteix@zaz.com.br>

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.

13 agosto 2020 Linux