У меня есть простой script:
#!/bin/bash
set -e
trap "echo BOO!" ERR
function func(){
ls /root/
}
func
Я хотел бы захватить ERR, если мой script терпит неудачу (так как он будет здесь b/c У меня нет прав на просмотр в /root ). Однако при использовании set -e
он не попадает в ловушку. Без set -e
ERR попадает в ловушку.
Согласно странице bash man, для set -e
:
... Ловушка ERR, если установлена, выполняется до выхода оболочки....
Почему моя ловушка не выполняется? С man-страницы кажется, что это должно быть.