Comando eval

Publicado por Marcos Paulo Ferreira em 05/07/2006

[ Hits: 24.207 ]

Blog: http://daemoniolabs.wordpress.com

 


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.

Outras dicas deste autor

Truques para tratamento de variáveis em shell script

Leitura recomendada

Instalar pacotes RPM no Ubuntu

Verificando Processo do comando "dd"

Manipulação de fitas com MT

Limpando sua memória cache de forma simples

Juntando dois arquivos PostScript ou PDF

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts