Scroll to navigation

ENVIRON(5) Manual do Programador Linux ENVIRON(5)

NOME

environ - ambiente do usuário

SINOPSE

extern char **environ;
 

DESCRIÇÃO

A variável environ aponta para uma cadeia de caracteres chamada de 'environment'. (Esta variável deveria ser declarada no programa de usuário, mas é declarada no arquivo cabeçalho unistd.h no caso de arquivos cabeçalhos vindos da libc4 ou libc5, e no caso de vindos da glibc e _GNU_SOURCE estarem definidos.) Esta cadeia de caracteres é disponibilizada para processo pela chamada a exec(3) que iniciou o mesmo. Por convenção estas cadeias de caracteres têm a forma ' name=value'. Exemplos simples são:
USER
O nome do usuário logado (usado por quaisquer programas derivados do BSD).
LOGNAME
O nome do usuário logado (usado por quaisquer programas derivados do System-V).
HOME
O diretório do usuário, selecionado por login(1) do arquivo de senhas passwd(5).
LANG
O nome de uma localidade para usar categorias locais quando não sobrepostas por LC_ALL ou mais variáveis de ambiente especificadas.
PATH
O seqüencia de prefixos de diretórios que sh(1) e muitos outros programas adotam na busca por um arquivo conhecido por um nome imcompleto de nome de caminho. Os prefixos são separados por ' :'. (Similarmente a qualquer caminho de busca CDPATH usado por quaisquer interpretadores de comando para achar o alvo de um comando alterado de diretório, MANPATH usado por man(1) para achar as páginas de manual, etc.)
PWD
O atual diretório de trabalho. Selecionado por quaisquer inerpretadores de comando.
SHELL
O nome do interpretador de comandos do usuário.
TERM
O tipo de terminal para o qual a saída será preparada.
PAGER
O utilitário preferido pelo usuário para exibir arquivos texto.
EDITOR/VISUAL
O utilitário preferido pelo usuário para editar arquivos texto.
Além disso, outros nomes podem ser colocados no ambiente pelo comando export e 'name=value' em sh(1), ou pelo comando setenv se você usa o csh(1). Argumentos podem também ser colocados no ambiente no ponto de um exec(2). Um programa C pode manipular estas variáveis usando as funções getenv(3), putenv(3), setenv(3) e unsetenv(3).
Note que o comportamento de muitos programas e bibliotecas de rotinas é influenciado pela presença ou variáveis de ambientes certas. Uma coleção aleatória:
As variáveis LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES, etc. são influenciadas pelo tratamento de localidade.
TMPDIR influencia o prefixo do nome do caminho de busca criado por tmpnam() e outras routinas, o diretório temporário usado por sort(1) e outros programas, etc.
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() é 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 e TZDIR fornecem informações sobre fusos horários.
TERMCAP fornece informações sobre como tratar um dado terminal (ou fornece o nome de um arquivo contendo informação semelhante).
Etc. etc.
Claramente há um risco de segurança aqui. Muitos vezes um comando desistema foi levado a agir incorretamente por um usuário especificando valores incomuns para IFS ou LD_LIBRARY_PATH.

VEJA TAMBÉM

login(1), sh(1), bash(1), csh(1), tcsh(1), execve(2), exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3).

TRADUZIDO POR LDP-BR em 21/08/2000.

André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) Roberto Selbach Teixeira <robteix@zaz.com.br> (revisão)
21/10/1996 Linux