(gawk.info)Exit Statement
The `exit' Statement
====================
The `exit' statement causes `awk' to immediately stop executing the
current rule and to stop processing input; any remaining input is
ignored. It looks like this:
exit [RETURN CODE]
If an `exit' statement is executed from a `BEGIN' rule the program
stops processing everything immediately. No input records are read.
However, if an `END' rule is present, it is executed (Note: The `BEGIN'
and `END' Special Patterns.).
If `exit' is used as part of an `END' rule, it causes the program to
stop immediately.
An `exit' statement that is not part of a `BEGIN' or `END' rule
stops the execution of any further automatic rules for the current
record, skips reading any remaining input records, and executes the
`END' rule if there is one.
If you do not want the `END' rule to do its job in this case, you
can set a variable to non-zero before the `exit' statement, and check
that variable in the `END' rule. Note: Assertions,
for an example that does this.
If an argument is supplied to `exit', its value is used as the exit
status code for the `awk' process. If no argument is supplied, `exit'
returns status zero (success). In the case where an argument is
supplied to a first `exit' statement, and then `exit' is called a
second time with no argument, the previously supplied exit value is
used (d.c.).
For example, let's say you've discovered an error condition you
really don't know how to handle. Conventionally, programs report this
by exiting with a non-zero status. Your `awk' program can do this
using an `exit' statement with a non-zero argument. Here is an example:
BEGIN {
if (("date" | getline date_now) < 0) {
print "Can't get system date" > "/dev/stderr"
exit 1
}
print "current date is", date_now
close("date")
}
Prev: Nextfile Statement Up: Statements
[ Dokumentation lokal installierter Software ]