Введение в Unix

Обработка прерываний в скриптах


Если ваш скрипт создает временные файлы, вы можете захотеть уничтожить их, даже если прерывание скрипта не позволит вам выполнить скрипт до конца (предполагается, что в конце скрипта временные файлы всегда уничтожаются).

Для этого вам нужно в начале скрипта выполнить команду onintr label, где label - произвольная метка, начиная с которой в вашем скрипте стоят команды, которые будут выполнены, если произойдет прерывание (так как в случае прерывания

C-Shell автоматически выполнит команду goto label, где label - метка из команды onintr).

При этом вы можете предусмотреть среди выполняемых в случае прерывания команд в качестве последней команду exit 1, чтобы обеспечить ненулевое значение переменной $status, свидетельствующей о неблагополучном завершении скрипта.



Содержание раздела