summaryrefslogtreecommitdiff
path: root/examples/functions/exitstat
blob: f49ebf588911eb506e651c73b77374628c659e00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Contributed by Noah Friedman and Roland McGrath.

# To be run by the PROMPT_COMMAND variable, so that one can see what
# the exit status of processes are.

function check_exit_status ()
{
 local status="$?"
 local signal=""

    if [ ${status} -ne 0 ] && [ ${status} != 128 ]; then
       # If process exited by a signal, determine name of signal.
       if [ ${status} -gt 128 ]; then
          signal="$(builtin kill -l $((${status} - 128)) 2>/dev/null)"
	  if [ "$signal" ]; then signal="($signal)"; fi
       fi
       echo "[Exit ${status} ${signal}]" 1>&2
    fi
    return 0
}

PROMPT_COMMAND=check_exit_status