Руководство пользователя для GNU Awk
9. Управляющие операторы в действиях
9.9 Оператор exit
Оператор exit приказывает awk немедленно прекратить выполнение текущего правила и перестать обрабатывать ввод. Оставшийся ввод игнорируется.
Он выглядит так:
exit [return code]
Если exit выполняется из правила BEGIN, то программа немедленно останавливается и ни одна запись не читается. Однако, если присутствует правило END, оно выполняется (см. раздел 8.1.5 [Специальные образцы BEGIN и END], стр. 100).
Если exit использован как часть правила END, он предписывает немедленную остановку программы.
Если exit не входит ни в BEGIN ни в END, он останавливает выполнение всех дальнейших правил для текущей записи, останавливает ввод дальнейших записей и выполняет правило END, если оно имеется.
Если вы не хотите выполнения END в этом случае, можно установить любую переменную на не ноль перед оператором exit и проверить эту переменную в правиле END. См. раздел 15.3 [Установления], стр. 172, с примером этого. Если exit снабжен аргументом, его значение используется как код статуса exit в процессе выполнения awk. Если аргумента нет, exit выдает нулевой статус (успех). В случае, когда аргументом снабжен первый оператор exit, а сработал другой exit без аргумента, то используется код статуса первого exit (d.c.).
Например, вы обнаружили ошибочную ситуацию, с которой вы не знаете, что делать. Обычно в таком случае программа сообщает это выходом с ненулевым кодом статуса. В awk-программе это можно сделать оператором exit с ненулевым аргументом.
Вот пример:
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") ""
Назад | Вперед
Содержание (общее) | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|