Guia do Linux/Iniciante+Intermediário/Personalização do sistema/Variáveis de Ambientes: diferenças entre revisões

Origem: Wikilivros, livros abertos por um mundo aberto.
[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Albmont (discussão | contribs)
Variáveis inteiras
m →‎Variáveis numéricas: incluido <noinclude> em predefinições muito utilizadas (para evitar error na impressão) utilizando AWB
Linha 28: Linha 28:
echo "Teste 2" > teste$n.txt # correto
echo "Teste 2" > teste$n.txt # correto


<noinclude>
{{AutoNav}}
{{AutoNav}}
{{AutoCat}}
{{AutoCat}}
</noinclude>



[[en:Bourne Shell Scripting/Environment]]
[[en:Bourne Shell Scripting/Environment]]

Revisão das 18h06min de 3 de julho de 2010

21.1 Variáveis de Ambientes

É 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

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


Lista de capítulos Anterior:Erro Lua em Módulo:Book na linha 74: attempt to index a nil value. [[Guia do Linux/Predefinição:Lista de capítulos/Guia do Linux|Erro Lua em Módulo:Book na linha 74: attempt to index a nil value.]] Acima:Guia do Linux/Iniciante+Intermediário/Personalização do sistema Personalização do sistema [[Guia do Linux/Predefinição:Lista de capítulos/Guia do Linux|Erro Lua em Módulo:Book na linha 74: attempt to index a nil value.]] Próximo:Erro Lua em Módulo:Book na linha 74: attempt to index a nil value.