solaris - exec (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
             assignments.
          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.


SEE ALSO
     csh(1), ksh(1), sh(1)