GNU/Linux >> Tutoriales Linux >  >> Linux

¿El comando "eval" en Bash?

¿Qué puedes hacer con el eval? ¿dominio? ¿Por qué es útil? ¿Es algún tipo de función integrada en bash? No hay man página para eso..

Respuesta aceptada:

eval es parte de POSIX. Es una interfaz que puede ser un shell integrado.

Se describe en el “Manual del programador de POSIX”:http://www.unix.com/man-page/posix/1posix/eval/

eval - construct command by concatenating arguments

Tomará un argumento y construirá un comando del mismo, que será ejecutado por el shell. Este es el ejemplo de la página de manual:

1) foo=10 x=foo
2) y='$'$x
3) echo $y
4) $foo
5) eval y='$'$x
6) echo $y
7) 10
  1. En la primera línea, define $foo con el valor '10' y $x con el valor 'foo' .
  2. Ahora define $y , que consta de la cadena '$foo' . El signo de dólar debe escaparse
    con '$' .
  3. Para verificar el resultado, echo $y .
  4. El resultado será la cadena '$foo'
  5. Ahora repetimos la tarea con eval . Primero evaluará $x a la cadena 'foo' . Ahora tenemos la instrucción y=$foo que será evaluado a y=10 .
  6. El resultado de echo $y ahora es el valor '10' .

Esta es una función común en muchos idiomas, p. Perl y JavaScript.
Eche un vistazo a perldoc eval para ver más ejemplos:http://perldoc.perl.org/functions/eval.html


Linux
  1. Comando eval en Bash y sus usos típicos

  2. Cómo agregar un ícono al indicador de bash

  3. '&&' vs. '&' con el comando 'test' en Bash

  4. ¿Cómo configurar el color del símbolo del sistema en Bash?

  5. ¿Cómo cambiar rápidamente la primera palabra en un comando Bash?

Cómo usar el comando de lectura Bash

Comando de espera bash

Comando Bash printf

La lista de atajos de teclado Bash útiles

Comando Bash fc:maneja fácilmente el Bash Shell como un profesional

El comando Move de Linux:¡Explicado y simplificado!