我有一个非常简单的模块文件:
#%Module1.0#####################################################################
puts stderr "Loading personal environment"
proc ModulesHelp { } {
puts stderr "\tLoads personal environment"
puts stderr ""
}
setenv MYTEMPVAR sometext
这是我的命令行:
> 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
根据modulefile man page卸载模块命令,应该将所有setenv转为unsetenv,但它似乎没有工作。有谁知道我在这里做错了什么?
更多信息:
> 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
对于那些不熟悉模块文件的人(他们似乎并不那么受欢迎):
答案 0 :(得分:1)
这显然按预期工作:http://sourceforge.net/tracker/?func=detail&aid=2384340&group_id=15538&atid=115538
看起来你应该运行module unload example_modulefile
而不给它模块文件的完整路径。
答案 1 :(得分:0)
较新版本的模块(> = 4.0)正确卸载了此完整路径模块文件。
对于较旧的版本,public function getTable() {
if (is_null($this->_table)) {
$this->_table = Engine_Api::_()->getDbtable('videoCategories', 'sitevideo');
}
error_log("Video category table: " . $this->_table->info('name'));
return $this->_table;
}
命令无法正确地将在命令行上传递的完整路径模块文件与当前加载的模块匹配。结果,没有模块被卸载。
旧版本(<4.0)上的可复制问题:
module unload
正如邪恶的otto所说,在较旧的模块版本上,必须使用简短的模块名称来卸载此模块文件
$ module -V | grep ^VERSION=
VERSION=3.2.11
$ module load ~/modules/test
$ module list
Currently Loaded Modulefiles:
1) /home/user/modules/test
$ module unload ~/modules/test
$ module list
Currently Loaded Modulefiles:
1) /home/user/modules/test
在最新模块版本上获得的预期行为:
$ module list
Currently Loaded Modulefiles:
1) /home/user/modules/test
$ module unload test
$ module list
No Modulefiles Currently Loaded.