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
Tag:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix