I have a very simple modulefile:
#%Module1.0##################################################################### puts stderr "Loading personal environment" proc ModulesHelp { } { puts stderr "tLoads personal environment" puts stderr "" } setenv MYTEMPVAR sometext
And here is my command line:
> env | grep MYTEMPVAR > module load ~/wa/example_modulefile Loading personal environment > env | grep MYTEMPVAR MYTEMPVAR=sometext > module unload ~/wa/example_modulefile > env | grep MYTEMPVAR MYTEMPVAR=sometext
According to the modulefile man page unload module command was supposed to turn all setenv’s to unsetenv but it doesn’t seem to be working. Does anyone know what I might be doing wrong here?
More information:
> module --version VERSION=3.2.6 DATE=2007-02-14 AUTOLOADPATH=undef BASEPREFIX="/usr/share" BEGINENV=99 CACHE_AVAIL=undef DEF_COLLATE_BY_NUMBER=undef DOT_EXT="" EVAL_ALIAS=1 HAS_BOURNE_FUNCS=1 HAS_BOURNE_ALIAS=1 HAS_TCLXLIBS=undef HAS_X11LIBS=1 LMSPLIT_SIZE=undef MODULEPATH="/company/tech/tools/modules/sites/$SITE/Linux/:/company/tech/tools/modules/projects" MODULES_INIT_DIR="/usr/share/Modules/init" PREFIX="/usr/share/Modules" TCL_VERSION="8.4" TCL_PATCH_LEVEL="8.4.19" TMP_DIR="/tmp" USE_FREE=undef VERSION_MAGIC=1 VERSIONPATH=undef WANTS_VERSIONING=0 WITH_DEBUG_INFO=undef Hello World > env | grep SHELL SHELL=/bin/tcsh
For those unfamiliar with modulefiles (they do not seem to be that popular):
- modulefile is a simple bit of code that set or add entries to the PATH, MANPATH, or other environment variables
- modulefiles hide the notion of different types of shells
- modulefiles are written in the Tool Command Language, Tcl and are interpreted by the modulecmd program via the module user interface
Advertisement
Answer
This is apparently working as intended: http://sourceforge.net/tracker/?func=detail&aid=2384340&group_id=15538&atid=115538
It seems you are expected to run module unload example_modulefile
without giving it the full path to the module file.