Guia do Linux/Iniciante+Intermediário/Personalização do sistema/Variáveis de Ambientes

Origem: Wikilivros, livros abertos por um mundo aberto.

Variáveis de Ambientes[editar | editar código-fonte]

É um método simples e prático que permite a especificação de opções de configuração de programas sem precisar mexer com arquivos no disco ou opções. Algumas variáveis do GNU/Linux afetam o comportamento de todo o Sistema Operacional, como o idioma utilizado e o path (veja [ch-run.html#s-run-path path, Seção 7.2]) . Variáveis de ambientes são nomes que contém algum valor e tem a forma Nome=Valor. As variáveis de ambiente são individuais para cada usuário do sistema ou consoles virtuais e permanecem residentes na memória RAM até que o usuário saia do sistema (logo-off) ou até que o sistema seja desligado.

As variáveis de ambiente são visualizadas/criadas através do comando set ou echo $NOME (apenas visualiza) e exportadas para o sistemas com o comando export NOME=VALOR.

Nos sistemas Debian, o local usado para especificar variáveis de ambiente é o /etc/environment (veja [#s-pers-environment Arquivo /etc/environment, Seção 21.8]). Todas as variáveis especificadas neste arquivos serão inicializadas e automaticamente exportadas na inicialização do sistema.

Exemplo: Para criar uma variável chamada TESTE que contenha o valor 123456 digite: export TESTE=123456. Agora para ver o resultado digite: echo $TESTE ou set|grep TESTE. Note que o $ que antecede o nome TESTE serve para identificar que se trata de uma variável e não de um arquivo comum.

Variáveis numéricas[editar | editar código-fonte]

As variáveis definidas através de:

 variavel = valor

são, por default, strings. Assim, não estranhe se, depois de:

 n=1
 echo "Teste 1" > teste$n.txt
 n=$n+1
 echo "Teste 2" > teste$n.txt # erro

não acontecer o que seria esperado (a criação do arquivo teste2.txt com a string "Teste 2"). O motivo é que, ao definir n=1, temos que n é uma variável string, então $n+1 simplesmente pega a string e acrescenta +1, formando a string "1+1".

Para fazer aritmética com números inteiros, é preciso definir n como um inteiro, por exemplo, usando-se typeset.

 typeset -i n=1
 echo "Teste 1" > teste$n.txt
 n=$n+1
 echo "Teste 2" > teste$n.txt # correto