Variáveis de ambiente

Como já falamos em um post anteriormente, o shell é a interface entre o usuário e o kernel do sistema operacional.

O shell padrão do Linux é o bash; ele é executado em um ambiente controlado pelas variáveis de ambiente, que nada mais são do que definições e valores que, tanto o shell como outros programas utilizam para configuração do ambiente do usuário no momento em que é realizado o login.

Existem dois tipos de variáveis:

✔ Variáveis de Usuários – variáveis criadas pelo próprio usuário.
✔ Variáveis de Sistema – variáveis criadas pelo próprio sistema.

Variáveis de Ambiente

Como dito anteriormente, variáveis são nomes que contém algum valor e tem a forma Nome=Valor. Lembram, quando estavam na escola e tinha que fazer as continhas para descobrir o valor da variável x? Por exemplo, x=10. Traduzindo para a forma Nome=Valor, aqui o x, seria o Nome, e Valor, o conteúdo da variável.

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 (logoff) ou até que o sistema seja desligado.

Algumas variáveis do GNU/Linux afetam o comportamento de todo o Sistema Operacional, como por exemplo, o idioma utilizado e o path.

A declaração de variáveis é feita da seguinte forma:

NOME_DA_VARIAVEL=valor_inicial

Onde:

NOME_DA_VARIAVEL – Nada mais é que o nome que queremos dar a nossa variável.

valor_inicial – É o primeiro valor que daremos a nossa variável. Este valor se faz necessário para determinar ao sistema que “tipo” de informação iremos ter na variável.

Exemplo:

Criar uma variável chamada LINUX com o valor Debian:

# LINUX=Debian

Para visualizarmos o conteúdo de uma variável, utilizamos o comando echo, que, além de exibir mensagens na tela, também tem o poder de exibir o conteúdo de uma variável.

Visualizando o conteúdo da variável criada:

# echo $LINUX
Debian

No exemplo acima, estamos visualizando o valor da variável LINUX, que é Debian.

Para que o shell saiba que o comando echo deve exibir o conteúdo de uma variável e não mostrar uma mensagem na tela, devemos adicionar no início do nome da variável o caractere $.

Comandos para manipular variáveis de ambiente

set
O comando set lista todas as variáveis de ambiente do usuário tais como o nome da máquina, arquitetura da máquina, usuário logado, etc…

Exemplo:

# set
HOSTNAME=switch
HOSTTYPE=i486
USER=root
MACHTYPE=i486-pc-linux-gnu
OSTYPE=linux-gnu

Se quisermos visualizar a variável que criamos, podemos filtrar a saída do comando set:

# set | grep LINUX
LINUX=Debian

export
O comando export faz com que a variável criada seja visualizada em todos shells. No exemplo em que criamos a variável LINUX, esta ficou disponível somente no shell em que foi criada… para que seja visualizada em um novo shell, é necessário exportar; e aí, utilizamos o comando export.

Exemplo:

# export LINUX

Para visualizar a variável que foi exportada, utilizamos o comando env, que é o responsável por visualizar as variáveis definidas globalmente:

# env

Visualizar somente a variável LINUX que foi exportada:

# env | grep -i linux
LINUX=Debian

Arquivos de configuração do ambiente do usuário

Além dos comandos que vimos acima, existem arquivos que são utilizados para configurar e carregar o ambiente do usuário. Isso quer dizer que, em um shell que exige login, ou seja, pede um nome de usuário e senha, o sistema irá verificar a existência dos arquivos listados abaixo e executará os comandos que estiverem dentro dos mesmos:

1) /etc/profile
2) ~/.bash_profile
3) ~/.bash_login
4) ~/.profile

/etc/profile
Este arquivo contém comandos que são executados para todos os usuários do sistema no momento do login; somente o usuário root tem permissão para modificar este arquivo.

Ele é lido antes do arquivo de configuração pessoal de cada usuário (.profile caso seja root e .bash_profile caso seja um usuário comum).
.bash_profile
Este arquivo reside no diretório pessoal de cada usuário. É executado em ambientes que usam autenticação (nome e senha). O .bash_profile contém comandos que são executados para o usuário no momento do login no sistema.

Lembrando que se trata de um arquivo oculto pois tem um “.” no início do nome. Aqui, podemos configurar por exemplo, os alias que vimos no post anterior.

Por exemplo:

# echo “alias rm=’rm i'” >> ~/.bash_profile

O comando acima, irá acrescentar a linha alias dentro do arquivo .bash_profile. Fique atento ao operador de redirecionamento, que é o >>, isto é, está acrescentando a linha no arquivo!

Variável PS1
Essa é a variável que contém o formato do prompt do Linux. Ela pode ser modificada através do arquivo .bash_profile (para usuários comuns) ou no .profile (para usuário root).

Por padrão, ela vem configurada da seguinte forma:

PS1=”[\u@\h \W]\$”

Cada uma dessas letras, exibe uma informação no prompt:
\u => Exibe o usuário no momento;
\h => Exibe o nome da máquina;
\W => Exibe o caminho completo do diretório que você está no momento
\$ => Indica o tipo de usuário logado. Se você for usuário comum, será apresentado o símbolo $, em caso do superusuário (root), será #.

Assim como praticamente tudo no Linux, seu prompt pode ser personalizado também. Por exemplo, alguém pode sentir saudade do ‘cebiquim’, isto é, do famoso C:\>.

Não é elegante como o prompt do Linux, mas… se quiser matar a saudade, faça assim:

PS1=”C:\> “

Configurando a variável PS1 conforme mostrado acima, seu terminal trará o C:\>.

Depois que altera o arquivo, é necessário atualizá-lo para que as configurações sejam aplicadas. Você pode deslogar e logar novamente, ou então, utilizar o comando source:

# source ~/.bashrc

O comando acima, irá reler o arquivo .bashrc e efetuar as alterações no prompt.

É isso aí, pessoas… até o próximo post😉 !

4 Responses to “Variáveis de ambiente”


  1. 1 DeusDragao 10/12/2008 às 1:31 AM

    Show, muito útil!

  2. 2 Maria Candida 09/11/2009 às 10:05 AM

    Maravilha de artigo!
    Que Deus abençoe quem o escreveu!
    Por favor, escreva mais, precisamos entender o básico. Muito obrigada!

  3. 3 Caio Marchi 24/05/2010 às 1:48 AM

    Cara, que post esclarecedor.
    mas…assim…nao sou um perito em linux, mas sei que o bash não é o padrão do linux, o bash é o mais usado, tem uma diferença aí.
    Fora isso o post tá show!

    valeu!

  4. 4 patricia pessanha ribeiro 22/02/2012 às 3:54 PM

    Adorei vai ajudar bastante se puder adicionar mais comandos vai ser ótimo pois me apaixonei pelo Debian .
    Estou com um problema ganhei um PC mas só tem um login do antigo dono e eu nao tenho a senha .E quanto pergunto root nao diz nada o que eu faço eu só quero colocar o meu login obrigaduuuuuuuuu Obs se vc tiver um link em que eu possa abaixar o Debian mais atualizado mas na versão instável me passa .Obrigauuuuuuuuuuu Esto ainda usando o windows por isso em outro PC


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




Follow Nix on WordPress.com
agosto 2008
S T Q Q S S D
« jul   set »
 123
45678910
11121314151617
18192021222324
25262728293031

Flickr Photos

Fast-flying Falcon

Mais fotos

%d blogueiros gostam disto: