私は非常に単純なモジュールファイルを持っています:
#%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のマニュアル ページによると、unload module コマンドはすべての 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 は、PATH、MANPATH、またはその他の環境変数にエントリを設定または追加する単純なコードです。
- モジュールファイルは、さまざまなタイプのシェルの概念を隠します
- modulefiles はツール コマンド言語 Tcl で記述され、モジュール ユーザー インターフェイスを介して modulecmd プログラムによって解釈されます。