source(1)




NAME

     exec, eval, source - shell  built-in  functions  to  execute
     other commands


SYNOPSIS

  sh
     exec [argument...]

     eval [argument...]

  csh
     exec command

     eval argument...

     source [-h] name

  ksh
     *exec [arg...]

     *eval [arg...]


DESCRIPTION

  sh
     The exec command specified by the arguments is  executed  in
     place   of  this  shell  without  creating  a  new  process.
     Input/output arguments may appear and, if no other arguments
     are given, cause the shell input/output to be modified.

     The arguments to the eval built-in are read as input to  the
     shell and the resulting command(s) executed.

  csh
     exec executes command in place of the current  shell,  which
     terminates.

     eval reads its arguments as input to the shell and  executes
     the  resulting  command(s).  This is usually used to execute
     commands generated as the result of command or variable sub-
     stitution.

     source reads commands from  name.  source  commands  may  be
     nested,  but if they are nested too deeply the shell may run
     out of file descriptors.  An error in a sourced file at  any
     level terminates all nested source commands.

     -h    Place commands from the file name on the history  list
           without executing them.

  ksh
     With the exec built-in, if arg is given, the command  speci-
     fied  by  the  arguments  is executed in place of this shell
     without creating a new process. Input/output  arguments  may
     appear  and  affect the current process. If no arguments are
     given the effect of this command is to modify file  descrip-
     tors as prescribed by the input/output redirection list.  In
     this case, any file descriptor numbers greater than  2  that
     are  opened  with  this  mechanism  are closed when invoking
     another program.

     The arguments to eval are read as input to the shell and the
     resulting command(s) executed.

     On this man page, ksh(1) commands that are preceded  by  one
     or  two * (asterisks) are treated specially in the following
     ways:

     1. Variable assignment lists preceding the command remain in
        effect when the command completes.

     2. I/O redirections are  processed  after  variable  assign-
        ments.

     3. Errors cause a script that contains them to abort.

     4. Words, following a command preceded by ** that are in the
        format  of  a  variable assignment, are expanded with the
        same rules as a  variable  assignment.  This  means  that
        tilde substitution is performed after the = sign and word
        splitting and file name generation are not performed.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|


SEE ALSO

     csh(1), ksh(1), sh(1), attributes(5)


Man(1) output converted with man2html