Copyright (C) 2000-2012 |
GNU Info (gawk.info)Exit StatementThe `exit' Statement -------------------- The `exit' statement causes `awk' to immediately stop executing the current rule and to stop processing input; any remaining input is ignored. The `exit' statement is written as follows: exit [RETURN CODE] When 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, as part of executing the `exit' statement, the `END' rule 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. In such a case, if you don't want the `END' rule to do its job, set a variable to nonzero 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 from an `END' rule with no argument, `awk' uses the previously supplied exit value. (d.c.) For example, suppose an error condition occurs that is difficult or impossible to handle. Conventionally, programs report this by exiting with a nonzero status. An `awk' program can do this using an `exit' statement with a nonzero argument, as shown in the following 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") } automatically generated by info2www version 1.2.2.9 |