Так что, возможно, этот пример поможет вам. Вот содержание скрипта:
#!/bin/bash fun() { echo "Error trapped" } trap fun ERR asd
И вот как вы должны это назвать:
$ ./so.sh 2> /dev/null
Результат:
Error trapped
Сигнал ERR перехватывается каждый раз, когда команда возвращает ненулевое значение.