Comando eval

Publicado por Marcos Paulo Ferreira em 05/07/2006

[ Hits: 24.216 ]

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

Não sabe onde está? - Procure!

Cor sólida aleatória no background

Xkill: fechando aplicativos travados.

Solução para congelar a pasta do usuario no Linux. (Lan House)

Redirecionamento de portas IPtables

  

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