【问题标题】:LMOD TCL execute bash script while loading moduleLMOD TCL 在加载模块时执行 bash 脚本
【发布时间】:2019-02-21 08:43:36
【问题描述】:

有一个小问题可以帮助我。在我们的新集群上,我们使用 LMod 作为环境模块系统。

为 OpenFOAM 创建一个模块 TCL 脚本,需要加载一个系统相关的 bashrc 文件。

这是我在另一个模块系统上使用的 TCL 脚本,它工作正常。我无法在 Lmod 中执行“源”命令行,这里缺少什么?

    #%Module1.0#####################################################################
##
## modules software/openfoam_v1812
##
## /opt/software/openfoam/openfoamv1812/OpenFOAM-v1812

proc ModulesHelp { } {
        global version modroot

        puts stderr "software/OpenFOAM-v1812 - sets the Environment for OpenFOAM-v1812 (openfoam.com)"
}

module-whatis   "Sets the environment for using OpenFOAM-v1812"

# for Tcl script use only

set     VERSION         v1812
set     OpenFOAM_PATH    /opt/software/openfoam/openfoam${VERSION}/OpenFOAM-${VERSION}
set     FOAM_INST_DIR    /opt/software/openfoam/openfoam${VERSION}

puts stdout "source /opt/software/openfoam/openfoam${VERSION}/OpenFOAM-${VERSION}/etc/bashrc;"

【问题讨论】:

    标签: module openfoam


    【解决方案1】:

    我不是专家,但我最近遇到了一个类似的问题,在我的例子中是在模型中激活 Anaconda Python。就我而言,解决方案是在 LMod 中使用“执行”命令

    https://lmod.readthedocs.io/en/latest/050_lua_modulefiles.html

    有文档:

    execute {cmd=”<any command>”,modeA={“load”}}

    以特定模式运行任何命令。例如执行 {cmd=”ulimit -s unlimited”,modeA={“load”}} 将运行命令 ulimit -s unlimited 作为加载模块的最后一件事。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-24
      • 2018-04-05
      • 2023-01-18
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多