Искусство программирования на языке сценариев командной оболочки




Программирование на языке сценариев командной оболочки - стр. 335


END { print total }

Команде END, соответствует команда BEGIN, которая открывает блок кода, отрабатывающий перед началом обработки входных данных.

Примеры использования awk в сценариях командной оболочки, вы найдете в:

Пример 11-10

Пример 16-7

Пример 12-24

Пример 33-3

Пример 9-22

Пример 11-16

Пример 27-1

Пример 27-2

Пример 10-3

Пример 12-42

Пример 9-26

Пример 12-3

Пример 9-12

Пример 33-11

Пример 10-8

Это все, что я хотел рассказать об awk. Дополнительные ссылки на информацию об awk, вы найдете в разделе Литература.

Приложение C. Коды завершения, имеющие предопределенный смысл

Таблица C-1. "Зарезервированные" коды завершения

Код завершения

Смысл

Пример

Примечание

1 разнообразные ошибки let "var1 = 1/0" различные ошибки, такие как "деление на ноль" и пр.
2 согласно документации к Bash -- неверное использование встроенных команд   Встречаются довольно редко, обычно код завершения возвращается равным 1
126 вызываемая команда не может быть выполнена   возникает из-за проблем с правами доступа или когда вызван на исполнение неисполняемый файл
127 "команда не найдена"   Проблема связана либо с переменной окружения $PATH, либо с неверным написанием имени команды
128 неверный аргумент команды exit exit 3.14159 команда exit может принимать только целочисленные значения, в диапазоне 0 - 255
128+n фатальная ошибка по сигналу "n" kill -9 $PPID сценария $? вернет 137 (128 + 9)
130 завершение по Control-C   Control-C -- это выход по сигналу 2, (130 = 128 + 2, см. выше)
255* код завершения вне допустимого диапазона exit -1 exit может принимать только целочисленные значения, в диапазоне 0 - 255

Согласно этой таблице, коды завершения 1 - 2, 126 - 165 и 255 [67] имеют предопределенное значение, поэтому вам следует избегать употребления этих кодов для своих нужд. Завершение сценария с кодом возврата exit 127, может привести в замешательство при поиске ошибок в сценарии (действительно ли он означает ошибку "команда не найдена"? Или это предусмотренный программистом код завершения?).


Содержание  Назад  Вперед