fbpx

Comandos Linux – Comando eval

Comando Bash eval builtin

Atualizado: 05/04/2019 por Computer Hope

comando eval

Em sistemas operacionais do tipo Unix, eval é um comando interno do shell Bash . Concatena seus argumentos em uma única sequência , juntando os argumentos com espaços e depois executa essa sequência como um comando bash. É semelhante à execução de bash -c “ string  , mas eval executa o comando no ambiente atual do shell em vez de criar um processo de shell filho .

Descrição

O comando eval não é usado com muita frequência no bash. Em outros shells, ele pode ser usado em scripts como uma maneira de obter o valor de uma variável cujo nome não é conhecido até que o script seja executado. No bash, no entanto, isso pode ser feito com indireção variável usando a sintaxe:

  $ {!  varname }

Para obter mais informações, consulte Indireção variável no bash .

Em geral, eval é útil se você precisar avaliar uma string mais um tempo antes de ser avaliada pelo bash. Também pode ser útil se você precisar construir programaticamente um comando que contenha operadores especiais ou palavras reservadas .

Sintaxe

  eval [ argumento ...]

Exemplos

  c = "eco";  a1 = "Olá";  a2 = "Mundo!";  eval $ c $ a1 $ a2

Atribua cadeias às variáveis c , a1 e a2 . Em seguida, use eval para avaliar esses argumentos e junte-os em uma única sequência, com um espaço entre cada um. Em seguida, execute essa sequência como um comando ” eco Olá, Mundo! “. Resultado:

  Olá Mundo!
  cmd1 = "cmd2";  cmd2 = "eco Olá!";  eval \ $ {$ cmd1}

Aqui, eval é usado para fornecer uma camada adicional de avaliação antes que um comando seja executado. Especificamente, o eval avalia \ $ {$ cmd1} como ” $ {cmd2} ” (a barra invertida escapa do cifrão, para que seja avaliada como um caractere literal $ ), depois passa a string para bash para execução. O comando $ {cmd2} é avaliado pelo bash usando a expansão de parâmetros (consulte expansão de parâmetros no bash para obter mais informações). O resultado final é o comando ” eco Hi! “. Resultado:

  Oi!

exec – Destrua o shell atual e substitua-o por um novo processo.

18 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

[email protected]

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900
[email protected]

Copyright © Linux Force Security  - Desde 2011.