Pular para o conteúdo

Comando eval

Dica publicada em Linux / Comandos
Marcos Paulo Ferreira Daemonio
Hits: 25.350 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

Copiando seu LILO do disquete para a MBR

GhostScript - Reduzindo o tamanho de arquivos PDF pelo terminal

openSUSE - Como remover versões antigas do kernel

Finalizando tarefas (processos)

[ LinuxTips ] - Descomplicando o systemd - Parte1

#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.