Programmer Guide/Command Reference/EXIT: Difference between revisions
m (1 revision: Initial import) |
mNo edit summary |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:{{SUBPAGENAME}}}} | {{DISPLAYTITLE:{{SUBPAGENAME}}}} | ||
== | {{Command Reference}} | ||
What the various flavours of the <code>EXIT</code> statement have in common is that they all terminate something. | |||
== Terminate the shell == | |||
EXIT 0 | |||
This will terminate the shell immediately (which also implies that no result assignment is possible). | |||
<code>EXIT | == Terminate a definite number of call levels == | ||
EXIT <var>level</var> <var>result_expression</var> | |||
This will return from <var>level</var> macro levels, and assign <var>result_expression</var> to the shell variable <code>RESULT</code>. The most common form is <code>EXIT 1 <var>result_expression</var></code>, in which case only one (1) macro level will be left, causing control flow to return to the calling macro. | |||
EXIT | |||
The naked <code>EXIT</code> statement will return to the calling macro, i.e., leave one macro level, making the statement, with this respect, equivalent to <code>EXIT 1</code>. The naked <code>EXIT</code> statement does not set the <code>RESULT</code> variable. | |||
== Terminate an indefinite number of call levels == | |||
EXIT <var>'''–'''level</var> <var>result_expression</var> | |||
This will return from as many macro levels as needed to find a macro level where there is a non-empty local variable <var>#onexitall</var> defined. | |||
See the script <code>exitlevels.sts</code> for a working example. | See the script <code>exitlevels.sts</code> for a working example. | ||
<!-- C.G. 23.3.2011 --> |
Latest revision as of 08:43, 13 May 2015
What the various flavours of the EXIT
statement have in common is that they all terminate something.
Terminate the shell
EXIT 0
This will terminate the shell immediately (which also implies that no result assignment is possible).
Terminate a definite number of call levels
EXIT level result_expression
This will return from level macro levels, and assign result_expression to the shell variable RESULT
. The most common form is EXIT 1 result_expression
, in which case only one (1) macro level will be left, causing control flow to return to the calling macro.
EXIT
The naked EXIT
statement will return to the calling macro, i.e., leave one macro level, making the statement, with this respect, equivalent to EXIT 1
. The naked EXIT
statement does not set the RESULT
variable.
Terminate an indefinite number of call levels
EXIT –level result_expression
This will return from as many macro levels as needed to find a macro level where there is a non-empty local variable #onexitall defined.
See the script exitlevels.sts
for a working example.