Pular para o conteúdo

Comando eval

Dica publicada em Linux / Comandos
Marcos Paulo Ferreira Daemonio
Hits: 25.354 Categoria: Linux Subcategoria: Comandos
  • Indicar
  • Impressora
  • Denunciar

Comando eval

Este comando é simples e útil. Considere a saída de um programa qualquer:

$ programa
SISTEMA=" GNU/Linux"
MEM="512MB"
MY_SHELL="/bin/bash"

A saída foi nomes de variáveis do sistema e seus respectivos conteúdos, só que elas não estão definidas literalmente. Veja:

$ echo "SHELL: $MY_SHELL"

A saída deste comando echo não será o que esperamos, porque a variável MY_SHELL não existe. Com o comando eval, definimos variáveis do sistema apenas com a saída de um comando/programa.

$ eval programa

Agora, se fizermos:

$ echo "Uso $SISTEMA, com $MEM de memória RAM"
Uso GNU/Linux, com 512MB de memória RAM

Vemos que, depois do uso do eval, as variáveis do sistema passam a existir.

Truques para tratamento de variáveis em shell script

Como tirar o print de uma região da tela usando o terminal

Sysdig para Ops

Verificando os usuários que se logaram na sua máquina

Usando rm para apagar arquivos esquisitos

Gravando um CD rapidamente

#1 Comentário enviado por FelipeAbella em 06/07/2006 - 10:46h
Parece bem útil para setar variáveis em massa e que possam ter interação do usuário.
#2 Comentário enviado por removido em 09/08/2006 - 14:09h
Tentei usar este comando no meu slack 10.2, como não deu certo, tentei o man do comando. Me parece que ele pertence a linguagen tcl. Gostaria de saber como usá-lo no bash ou num script.
Obrigado.
#3 Comentário enviado por daemonio em 26/08/2006 - 19:51h
Bom fgsmail também uso slack10.2 e o comando funfou. Mas me parece que tem um erro nesta dica, o certo é:

$ eval `programa`
e não
$ eval programa

Tenta aí.

Contribuir com comentário

Entre na sua conta para comentar.