quarta-feira, 28 de setembro de 2016

Linux para leigos 2 - Variáveis

      Assim como todos os artigos da serie "Linux para leigos" esse artigo é voltado para iniciantes, através de uma linguagem simples explicamos o que são as variáveis e como podemos criar variáveis no Linux.
  • O que são variáveis?
      A definição mais simples de variáveis é que elas são objetos representativos, ou seja, variável é um objeto que representa um outro objeto, ou um conjunto de objetos, ou um resultado de um comando ou de cálculos. Na escola por exemplo quando tínhamos que descobrir o valor de X na verdade estávamos tentando descobrir o valor da variável X, ou seja, X simbolizava um valor aritmético, o X era só uma representação, assim é a variável.

     As variáveis podem ser separadas em 2 "categorias", as variáveis comuns e as variáveis ambientais.

- Variáveis comuns
   As variáveis comuns são as variáveis voláteis, criadas por qualquer um, elas são armazenadas em memória e apagadas conforme limpeza da memória ou troca de sessão, as variáveis comuns são válidas apenas para a sessão do usuário que está usando-a, para permitir que ela esteja disponível para todos os usuários, é necessário que ela seja exportada, mas logo chegaremos nessa parte.

- Variáveis ambientais
   As variáveis ambientais são variáveis utilizadas pelo próprio sistema operacional, são conhecidas também como variáveis globais, qualquer variável criada pode se tornar uma variável ambiental, mas por padrão o sistema operacional já tem diversas variáveis ambientais.

     Para ficar mais claro vamos tomar como exemplo a variável $HOME, a variável $HOME é uma variável ambiental e representa o diretório "home" do usuário corrente, ou seja, se o João executar echo $HOME o conteúdo à ser exibido deve ser o diretório home de joão, que por padrão seria: /home/joao/ - Se o mesmo comando for executado com o usuário root o resultado será o diretório home de root, que será: /root/



  • Como criar uma variável?
Criar uma variável no Linux é muito simples, basta atribuir um valor para a variável com o nome a sua escolha com o sinal de igual, ex:

# NOME="joaopedefeijao"

Para visualizar o conteúdo da variável digite

# echo $NOME


Observe que antes do nome da variável utilizamos o $, ele é que atribui que o nome atrelado é uma variável.



Um exemplo prático com está variável:
- Suponha que deseja fazer uma cópia de tudo que está em /tmp/ para o diretório home do usuário corrente, ao invés de digitarmos o comando completo:

# cp /tmp/* /home/joao/


podemos usar a variável:


# cp /tmp/* $HOME


Podemos também criar uma variável com um valor resultado de um comando, por exemplo:

Temos o comando ifconfig, ele só pode ser executado pelo usuário root e exibe suas configurações de rede, executando-o sozinho é possível visualizar as configurações dos adaptadores de rede, queremos que o resultado dele fique armazenado dentro da variável $RESULTADO, então usamos:

# RESULTADO=`ifconfig`
# echo $RESULTADO

A saída não estará indentada nem formatada, trata-se de uma tripa com o conteúdo do comando ifconfig



Para tornar a sua variável em uma variável de ambiente, usamos o comando export, conforme exemplo:

#export  NOME="joaopedefeijao"

Agora sua variável estará disponível para todo o ambiente do terminal.
Para que sua variável esteja disponível em todas as sessões sempre, adicione ela no arquivo /etc/bash.bashrc

Abra o arquivo com o editor de texto da sua preferência:
# nano /etc/bash.bashrc

e insira sua variável lá:
# NOME="joaopedefeijao"

Ainda há a opção de colocar ela no arquivo profile, assim todas as vezes os usuários iniciarem o SO ele carrega a variável:


# nano /etc/profile

insira a variável lá:
# NOME="joaopedefeijao" 




  • Como ver variáveis ambientais no Linux?
 Os comandos mais comuns para visualizar todas as variáveis no linux são:
env
set



  • Principais variáveis de ambiente no Linux

$SHELL - exibe o interpretador de comandos utilizado
$USER - exibe o usuário corrente (igual o comando whoami)
$HOME - exibe a home do usuário corrente
$HOSTNAME - exibe o nome do computador
$HOSTTYPE - exibe a arquitetura do sistema operacional





Nenhum comentário:

Postar um comentário