quinta-feira, agosto 16, 2007

Manipulando variáveis de ambiente no Linux

Programar no Linux nos dá liberdade para fazer algumas coisas bem legais. Por exemplo, existem funções já implementadas que nos permitem trabalhar com variáveis de ambiente do Linux. Vou falar sobre duas delas, que são setenv e getenv, ambas presentes em stdlib.h.

char* getenv (const char *name)
A função getenv pega como parâmtero o identificador de uma variável de ambiente e retorna o seu valor. Por exemplo
getenv ("PWD")

int setenv (const char *name, const char *value, int overwrite)
Já a função setenv define uma variável de ambiente. Os dois primeiros parâmetros correspondem ao nome e ao valor da variável, respectivamente. Se a variável não existir, ela será então criada. Se já existir o terceiro parâmetro será testado. Se for zero, o valor da variável não será atualizado. Caso seja maior que zero, o valor da variável será alterado para value.
Por exemplo
setenv("FOO","BAR",1)

Não esqueçam de dar o include em stdlib.h!

Até a próxima!

Nenhum comentário: