31 lines
690 B
Bash
Executable File
31 lines
690 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -ex
|
|
|
|
BEFORE="./before.tmp"
|
|
AFTER="./after.tmp"
|
|
|
|
cleanup () { echo 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}"
|
|
|
|
set +e # TODO: fix
|
|
\. ../../nvm.sh
|
|
set -e
|
|
|
|
type nvm > /dev/null 2>&1 || die "nvm not loaded"
|
|
|
|
nvm unload
|
|
|
|
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}"
|
|
|
|
cleanup
|