我正在使用环境模块:http : //modules.sourceforge.net/
加载/卸载命令是可交换的还是关联的?或者,是否有可能(例如,如果我这样做load X
load Y
的结果将不同于如果我load Y
之后跟的结果load X
?)
我能否仅将加载的模块列表视为由这些命令引起的“状态”?还是这些命令的顺序重要?
Modulefile加载顺序很重要。模块文件X
,Y
例如可以通过在其前面或后面添加路径元素来更改相同的环境变量。
如果modulefileX
预规划/path/to/directoryX
给PATH
变量和modulefileY
预规划/path/to/directoryY
到PATH
,装载X
然后Y
将给予优先权的二进制文件在/path/to/directoryY
目录(因为这目录将在第一元件PATH
变量)在二进制文件中/path/to/directoryX
。Y
然后在第一次加载时X
,优先级将为中的二进制文件/path/to/directoryX
。
如果foo
在两个目录中都有一个可用的二进制名称,则在此示例中,在最后加载的模块的目录中调用该二进制文件时将找到该二进制文件。
为了帮助用户解决这种情况,模块文件可以表达依赖性,以确保其他模块文件先于其他模块文件被加载(先决条件prereq
),或者确保其他模块文件在被加载后也未加载(conflict
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句