Shell Scripting – Variáveis de Ambiente e comandos env, unset e export – 02
Variáveis de Ambiente
Vários programas precisam de informações sobre o usuário e suas preferências para poderem rodar corretamente. Para evitar que você tenha de passar esses dados a cada comando que executa (por ex.: caminhos de diretórios de bibliotecas), o shell cria um ambiente operacional composto de inúmeras variáveis, denominadas “Variáveis de Ambiente”.
Essas variáveis contém valores que são usados pelos programas e também por outros shells.
Existem dois tipos de variáveis de ambiente:
- Variáveis de ambiente globais
- Variáveis do shell (locais)
Variáveis de Ambiente Locais
Ou Variáveis do Shell. São como “variáveis locais” empregadas em linguagens de programação tradicionais. As variáveis locais somente são válidas no próprio shell onde são declaradas (escopo local).
Exemplos:
- SECONDS – nº de segundos desde que o shell foi iniciado
- SHELL – Indica qual o shell em uso atualmente
Criando variáveis locais no shell:
Podemos criar uma variável nova digitando um par NOME=valor no terminal. Por exemplo, vamos criar uma variável de nome “teste” com o conteúdo “valor“:
teste=valor
E verificamos seu valor com o comando echo. Note o $ antes do nome da variável, que permite acessar seu conteúdo:
echo $teste
Para remover uma variável de ambiente usamos o comando unset:
unset teste
Variáveis de Ambiente Globais
As variáveis de ambiente globais podem ser passadas a todos os subprocessos do shell, incluindo outros shells.
Exemplos de variáveis de ambiente:
PATH – Lista de diretórios onde se encontram programas executáveis
USERNAME – Nome do usuário logado
TERM – Tipo de terminal ou janela de terminal em uso
HOME – Diretório home do usuário atual
UID – UID (número de identificação) do usuário atual
RANDOM – Gera um número aleatório
LANG – Idioma, especificado como locale
Os comandos env e printenv mostram as variáveis de ambiente no terminal. Na tela a seguir você pode ver uma saída gerada com a execução do comando printenv:
Para criar uma variável global, primeiro você deve criar uma variável local e depois exportá-la com o comando export, como no exemplo a seguir:
export teste
Assim, a variável será disponibilizada para outros shells ou programas.
No vídeo a seguir mostramos como trabalhar com variáveis do shell, incluindo alguns exemplos extras de criação de variáveis no shell:
Muito legal.
Obrigado Fábio!