diff --git a/lib/lib_trap_on_err.sh b/lib/lib_trap_on_err.sh index 3bd737f..5f94ad2 100644 --- a/lib/lib_trap_on_err.sh +++ b/lib/lib_trap_on_err.sh @@ -119,15 +119,18 @@ print_scr_err() { # $5: ${BASH_COMMAND} ####################################### trap_on_err() { - trap - ERR + trap - DEBUG ERR INT TERM declare -g ERRCODE="$1" declare -g ERRSCRT="$2" declare -g ERRLINE="$3" declare -g ERRFUNC="$4" declare -g ERRCMMD="$5" + # shellcheck disable=SC2034 + declare -g ERRTRAP="true" + if "${VAR_EARLY_DEBUG}"; then dump_user_vars; fi clean_up "${ERRCODE}" - if ! $VAR_HANDLER_AUTOBUILD; then clean_screen; fi + if ! "${VAR_HANDLER_AUTOBUILD}"; then clean_screen; fi print_file_err print_scr_err } @@ -148,6 +151,7 @@ dump_user_vars() { set +x { declare var + # shellcheck disable=SC2312 while IFS= read -r var; do declare -p "${var}" 2>/dev/null done < <(compgen -v | grep -Ev '^(BASH|_).*') diff --git a/lib/lib_trap_on_exit.sh b/lib/lib_trap_on_exit.sh index f72404d..21dcec6 100644 --- a/lib/lib_trap_on_exit.sh +++ b/lib/lib_trap_on_exit.sh @@ -20,7 +20,7 @@ guard_sourcing # $1: $? ####################################### trap_on_exit() { - trap - EXIT + trap - DEBUG ERR EXIT INT TERM declare -r var_trap_on_exit_code="$1" if (( var_trap_on_exit_code == 0 )); then if "${VAR_EARLY_DEBUG}"; then dump_user_vars; fi