Comando env no Linux (executa um programa em um ambiente modificado) [Guia Básico]

O comando env no Linux é utilizado para executar um programa em um ambiente modificado, enviando para ele uma ou mais variáveis ambientais. É muito útil para executar testes de software.

Ele habilita que um determinado programa possa ler uma variável sem a necessidade de criar a variável no Shell e posteriormente exportá-la com o comando export.

A opção -i diz para o env ignorar o ambiente herdado, sem alterar o conteúdo de qualquer variável existente. É útil para alterar uma variável momentaneamente para um teste.

Neste exemplo o programax é executado recebendo a variável HOME com o seu valor alterado temporariamente e individualmente:

$ echo $HOME
/home/uiraribeiro
$ env HOME=/home/convidado2 programax

Mas ao visualizar o valor da variável HOME logo após a execução do programa, constata-se que o seu conteúdo permanece inalterado, uma vez que só foi modificado no espaço de memória que o programax foi capaz de enxergar:

$ echo $HOME
/home/uiraribeiro

O comando env também pode ser usado com a opção “-u”, que remove a variável indicada do ambiente. Para demonstrar, criamos um pequeno script que imprime a variável LIVRO:

$ cat script 
#!/bin/bash
echo "O livro é: $LIVRO" 
$ chmod +x script 
$ export LIVRO="Certificação Linux"
$ ./script 
O livro é: Certificação Linux

Ao usar o env com a opção -u, a variável LIVRO deixará de existir para o script quando executado pelo env:

$ env -u LIVRO ./script 
O livro é:

E ainda é possível usar a opção -i, que limpa todas as variáveis exportadas, executando o programa em um ambiente totalmente limpo:

$ env -i ./script 
O livro é:

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe