What is the purpose of running a command with
eval
?What kinds of commands can
eval
run? I find it can run builtin command, external executable command, pipeline, script. Can it run all kinds of commands which can be run in a shell directly?Compare running a command directly in a shell and indirectly via
eval
. Is the difference only in that witheval
the command will be parsed twice instead of just once?Compare running a command via
eval
and viacommand
. Assume that the command can be run by both. What differences are between the two ways?
Asked
Active
Viewed 264 times
-3
-
link to http://unix.stackexchange.com/questions/278427/why-and-when-should-eval-use-be-avoided-in-shell-scripts – Tim Apr 22 '16 at 22:54
1 Answers
2
After the Command-line has been expanded:
eval sends back the arguments to the first step of "Command-Line Processing".
All steps of Command-Line Processing are presented in this page.