No specific user configuration
[platform/upstream/bash.git] / builtins / eval.def
1 This file is eval.def, from which is created eval.c.
2 It implements the builtin "eval" in Bash.
3
4 Copyright (C) 1987-2009 Free Software Foundation, Inc.
5
6 This file is part of GNU Bash, the Bourne Again SHell.
7
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.
12
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.
17
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/>.
20
21 $PRODUCES eval.c
22
23 $BUILTIN eval
24 $FUNCTION eval_builtin
25 $SHORT_DOC eval [arg ...]
26 Execute arguments as a shell command.
27
28 Combine ARGs into a single string, use the result as input to the shell,
29 and execute the resulting commands.
30
31 Exit Status:
32 Returns exit status of command or success if command is null.
33 $END
34
35 #include <config.h>
36 #if defined (HAVE_UNISTD_H)
37 #  ifdef _MINIX
38 #    include <sys/types.h>
39 #  endif
40 #  include <unistd.h>
41 #endif
42
43 #include "../shell.h"
44 #include "bashgetopt.h"
45 #include "common.h"
46
47 /* Parse the string that these words make, and execute the command found. */
48 int
49 eval_builtin (list)
50      WORD_LIST *list;
51 {
52   if (no_options (list))
53     return (EX_USAGE);
54   list = loptend;       /* skip over possible `--' */
55
56   return (list ? evalstring (string_list (list), "eval", SEVAL_NOHIST) : EXECUTION_SUCCESS);
57 }