Linux modulefile-模块卸载未取消设置环境变量
我有一个非常简单的模块文件:Linux modulefile-模块卸载未取消设置环境变量,linux,tcl,environment-modules,modulefile,Linux,Tcl,Environment Modules,Modulefile,我有一个非常简单的模块文件: #%Module1.0##################################################################### puts stderr "Loading personal environment" proc ModulesHelp { } { puts stderr "\tLoads personal environment" puts stderr "" } setenv MYTEMPVAR som
#%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
根据unload模块,该命令应该将所有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
对于那些不熟悉ModuleFile的人(他们似乎没有那么受欢迎):
- modulefile是一段简单的代码,用于设置或向PATH、MANPATH或其他环境变量添加条目
- ModuleFile隐藏了不同类型壳的概念
- ModuleFile用工具命令语言Tcl编写,并由modulecmd程序通过模块用户界面进行解释
模块卸载示例\u modulefile
,而不给它模块文件的完整路径。较新版本的模块(>=4.0)正确卸载此完整路径modulefile
在旧版本中,module unload
命令无法正确匹配在命令行上传递的完整路径modulefile与当前加载的模块。因此,不会卸载任何模块
旧版本(<4.0)上的可复制问题:
正如邪恶的奥托所说,在旧的模块版本上,必须使用短模块名来卸载这个模块文件
$ module list
Currently Loaded Modulefiles:
1) /home/user/modules/test
$ module unload test
$ module list
No Modulefiles Currently Loaded.
在最新模块版本上获得的预期行为:
$ module -V
Modules Release 4.1.3 (2018-06-18)
$ module load ~/modules/test
$ module list
Currently Loaded Modulefiles:
1) /home/user/modules/test
$ module unload ~/modules/test
$ module list
No Modulefiles Currently Loaded.
链接断了。不确定问题出在哪里(或标题是什么)。
$ module -V
Modules Release 4.1.3 (2018-06-18)
$ module load ~/modules/test
$ module list
Currently Loaded Modulefiles:
1) /home/user/modules/test
$ module unload ~/modules/test
$ module list
No Modulefiles Currently Loaded.