我正在使用环境模块: http: //modules.sourceforge.net/
加载/卸载命令是否可交换和关联?或者,是否有可能,例如,如果我这样做
load X
load Y
,结果会与我
load Y
之后
的结果不同load X
?
我可以将这些命令引起的“状态”仅视为加载了哪些模块的列表吗?或者这些命令的顺序是否重要?
我正在使用环境模块: http: //modules.sourceforge.net/
加载/卸载命令是否可交换和关联?或者,是否有可能,例如,如果我这样做
load X
load Y
,结果会与我
load Y
之后
的结果不同load X
?
我可以将这些命令引起的“状态”仅视为加载了哪些模块的列表吗?或者这些命令的顺序是否重要?
模块文件加载顺序很重要。模块文件X
,Y
例如可以通过在其前面或附加路径元素来更改相同的环境变量。
如果X
modulefile/path/to/directoryX
在PATH
variable之前添加并且Y
modulefile/path/to/directoryY
在. PATH
_ _ 当首先加载时,优先级将进入二进制文件。X
Y
/path/to/directoryY
PATH
/path/to/directoryX
Y
X
/path/to/directoryX
如果在两个目录中都有一个名为foo
available 的二进制文件,则在本例中在最后加载的模块的目录中调用时会找到它。
为了帮助用户解决这种情况,模块文件可以表达依赖关系以确保在它们之前加载其他模块文件(前置要求,prereq
)或确保在加载其他模块文件时不加载它们(conflict
)。