我使用modules来管理软件。我试图设置环境,以便可以从任何模块文件调用某个函数,而不必每个文件都必须提供proc定义。
示例:我希望util:prereq
函数在以下模块文件中可用,而无需获取其定义:
#%Module1.0
util::prereq compiler_intel/13.0.1 mpi/openmpi-1.6.4_intel-13.0.1
为了做到这一点,我知道我必须挂钩到modulefiles或tcl或者什么东西。有什么想法吗?
此函数的用法类似于prereq
,但该函数将加载任何先决条件而不是失败,因为它没有被加载。
答案 0 :(得分:1)
比clarkw建议的更好的方法是使用旧的tclIndex
文件。
此文件必须位于文件夹$auto_path
或其子目录(建议的子目录)中。
您可以手动或通过调用
tclIndex
文件
auto_mkindex directory file.tcl
再次:目录应该是$auto_path
的(子)目录
如果第一次使用其中一个命令,这将获取您的tcl文件。