Comando eval
Dica publicada em Linux / Comandos
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.
$ 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.