Что такое Linux для VMS DCL «НА ОШИБКЕ»?

8

С помощью командных сценариев VMS DCL можно ловить ошибки с помощью on errorкоманды:

$ on error then goto MyErrorHandler
$ directory samiam.txt
$ delete x.txt
$ exit
$MyErrorHandler:
$ print "Something."

Как это сделать в Linuxland?

В примере ошибка с directoryили deleteприведет к тому, что элемент управления перейдет к MyErrorHandler.

CW Holeman II
источник

Ответы:

8

Я думаю, что вы хотите функцию ловушки , а именно:

error_func() 
{
    echo 'An error occurred!'
    exit 1
}

trap error_func ERR

Ошибки позже перейдут к функции. Это поддерживается как минимум bash, zsh и ksh.

Мэтью Флэшен
источник