1 This file is eval.def, from which is created eval.c.
2 It implements the builtin "eval" in Bash.
4 Copyright (C) 1987-2016 Free Software Foundation, Inc.
6 This file is part of GNU Bash, the Bourne Again SHell.
8 Bash is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
13 Bash is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with Bash. If not, see <http://www.gnu.org/licenses/>.
24 $FUNCTION eval_builtin
25 $SHORT_DOC eval [arg ...]
26 Execute arguments as a shell command.
28 Combine ARGs into a single string, use the result as input to the shell,
29 and execute the resulting commands.
32 Returns exit status of command or success if command is null.
36 #if defined (HAVE_UNISTD_H)
38 # include <sys/types.h>
44 #include "bashgetopt.h"
47 /* Parse the string that these words make, and execute the command found. */
52 if (no_options (list))
54 list = loptend; /* skip over possible `--' */
56 return (list ? evalstring (string_list (list), "eval", SEVAL_NOHIST) : EXECUTION_SUCCESS);