eval
args
Typically, eval is used in shell scripts,
and args
is a line of code that contains shell variables.
eval forces variable expansion to happen first
and then runs the resulting command.
This "double-scanning" is useful any time shell variables
contain input/output redirection symbols, aliases, or other shell variables.
(For example, redirection normally happens before variable
expansion, so a variable containing redirection symbols must be
expanded first using eval; otherwise, the redirection symbols
remain uninterpreted.)
A Bourne shell example can be found under eval in Section 4.
Other uses of eval are shown below and under alias.
The following lines can be placed in the .login file to set up terminal characteristics:
set noglob eval `tset -s xterm` unset noglob
The following commands show the effect of eval:
%set b='$a'
%set a=hello
%echo $b
Read the command line once. $a %eval echo $b
Read the command line twice. hello