EXIT(1) User Commands EXIT(1)


NAME


exit, return, goto - shell built-in functions to enable the execution of
the shell to advance beyond its sequence of steps

SYNOPSIS


sh
exit [n]


return [n]


csh
exit [( expr )]


goto label


ksh
*exit [n]


*return [n]


ksh93
+exit [n]


+return [n]


DESCRIPTION


sh
exit causes the calling shell or shell script to exit with the exit
status specified by n. If n is omitted the exit status is that of the
last command executed (an EOF also causes the shell to exit.)


return causes a function to exit with the return value specified by n. If
n is omitted, the return status is that of the last command executed.

csh
exit causes the calling shell or shell script to exit, either with the
value of the status variable or with the value specified by the
expression expr.


The goto built-in uses a specified label as a search string amongst
commands. The shell rewinds its input as much as possible and searches
for a line of the form label: possibly preceded by space or tab
characters. Execution continues after the indicated line. It is an error
to jump to a label that occurs between a while or for built-in command
and its corresponding end.

ksh
exit causes the calling shell or shell script to exit with the exit
status specified by n. The value is the least significant 8 bits of the
specified status. If n is omitted then the exit status is that of the
last command executed. When exit occurs when executing a trap, the last
command refers to the command that executed before the trap was invoked.
An end-of-file also causes the shell to exit except for a shell which has
the ignoreeof option (See set below) turned on.


return causes a shell function or '.' script to return to the invoking
script with the return status specified by n. The value is the least
significant 8 bits of the specified status. If n is omitted then the
return status is that of the last command executed. If return is invoked
while not in a function or a '.' script, then it is the same as an exit.


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.

ksh93
exit is shell special built-in that causes the shell that invokes it to
exit. Before exiting the shell, if the EXIT trap is set, it is invoked.


If n is specified, it is used to set the exit status.


return is a shell special built-in that causes the function or dot script
that invokes it to exit. If return is invoked outside of a function or
dot script it is equivalent to exit.


If return is invoked inside a function defined with the function reserved
word syntax, then any EXIT trap set within the function is invoked in the
context of the caller before the function returns.


If n is specified, it is used to set the exit status.


On this manual page, ksh93 commands that are preceded by one or two +
symbols are special built-in commands and 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. They are not valid function names.

5. 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 field splitting
and file name generation are not performed.

EXIT STATUS


ksh93
If n is specified for exit, the exit status is the least significant
eight bits of the value of n. Otherwise, the exit status is the exit
status of preceding command. When invoked inside a trap, the preceding
command means the command that invoked the trap.


If n is specified for return, the exit status is the least significant
eight bits of the value of n. Otherwise, the exit status is the exit
status of preceding command.

ATTRIBUTES


See attributes(5) for descriptions of the following attributes:


+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+

SEE ALSO


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


November 2, 2007 EXIT(1)