| cleanup () { rm -f "${BEFORE}" "${AFTER}"; } |
| die () { echo "$@" ; cleanup ; exit 1; } |
| typeset -f | awk '/ \(\) $/ && !/^main / {print $1}' > "${BEFORE}" |
| env | grep -v PATH= | grep -v IFS= | grep -v NVM_ | sort >> "${BEFORE}" |
| type nvm > /dev/null 2>&1 || die "nvm not loaded" |
| typeset -f | awk '/ \(\) $/ && !/^main / {print $1}' > "${AFTER}" |
| env | grep -v PATH= | grep -v IFS= | sort >> "${AFTER}" |
| ! type nvm > /dev/null 2>&1 || die "nvm not unloaded" |
| DIFF="$(diff "${BEFORE}" "${AFTER}" ||:)" |
| [ -z "${DIFF}" ] || die "function pollution found: ${DIFF}" |