Pular para o conteúdo

Comando eval

Dica publicada em Linux / Comandos
Marcos Paulo Ferreira Daemonio
Hits: 25.349 Categoria: Linux Subcategoria: Comandos
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Truques para tratamento de variáveis em shell script

Comandos interessantes para administração de sistemas

Adicionando SWAP no OpenBSD

Abrindo aplicativos gráficos como usuário root logado como usuário comum sem kdesudo ou gksudo

Problema com o SU?

pfetch ao invés do neofetch

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