# Most shells print a message when a foreground job is killed by a signal. # POSIX allows this, provided the message is sent to stderr, not stdout. # Some trickery is needed to capture the message as redirecting stderr of # the command itself does not affect it. The colon command ensures that # the subshell forks for ${SH}. exec 3>&1 r=`(${SH} -c 'kill $$'; :) 2>&1 >&3` [ -n "$r" ]