问题标签 [modulefile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
918 浏览

module - 如何将 csh 别名转换为与 MODULEFILE 兼容的 set-alias 命令?

我有一堆别名,我想与同事分享,我想把它放在我们的项目modulefile中。有没有可以为我进行转换的脚本?或者至少给我一个好的开始,然后我可以修复那些翻译不好的?

PS 有更多代表的人可以创建一个模块文件标签吗?

0 投票
2 回答
2797 浏览

linux - modulefile - 模块卸载不会取消设置环境变量

我有一个非常简单的模块文件:

这是我的命令行:

根据modulefile 手册页,卸载模块命令应该将所有 setenv 转换为 unsetenv,但它似乎不起作用。有谁知道我在这里可能做错了什么?

更多信息:

对于那些不熟悉模块文件的人(它们似乎并不那么受欢迎):

  • modulefile 是一段简单的代码,用于设置或添加 PATH、MANPATH 或其他环境变量的条目
  • modulefiles 隐藏了不同类型的 shell 的概念
  • 模块文件用工具命令语言 Tcl 编写,并由 modulecmd 程序通过模块用户界面进行解释
0 投票
1 回答
189 浏览

linux - 使 proc 可用于所有模块文件?

我正在使用模块来管理软件。我正在尝试设置环境,以便可以从任何模块文件调用某个函数,而无需每个文件都必须获取 proc 定义。

示例:我希望该util:prereq函数在以下模块文件中可用,而无需获取其定义:

为了做到这一点,我知道我必须连接到模块文件或 tcl 或其他东西。有任何想法吗?

此函数的用法与 类似,prereq只是该函数将加载任何先决条件而不是因为未加载而失败。

0 投票
2 回答
3192 浏览

linux - 使用模块设置 coredumpsize 的限制

我正在尝试将 csh 脚本转换为 tcl 脚本,以便在 linux模块功能中使用。csh 脚本最初用于为软件包正确设置环境变量。我不想让最终用户在每次他/她希望使用该软件时更改他的 shell 并运行 3 个命令,而是想创建一个简单的单行命令,该命令独立于 shell 并适当地设置他们的环境。因此,使用 modulefile 似乎是完成此任务的完美方式。

当我尝试对 coredumpsize 设置限制时,我的问题出现了,因为似乎没有任何方法可以从模块内设置此值。原始的 csh 命令如下所示,limit coredumpsize 0. 我知道与此等效的原始 bash 命令行是ulimit -c 0. 注意:这两个命令都假定我想在使用这个软件时禁用 coredumpfiles。

我的模块文件代码尝试以依赖于 shell 的方式调用此命令,b/c 似乎没有模块文件本机的“限制”命令。

根据我在网络范围内的研究,我找不到可以修改的环境变量,尽管 RLIMIT_CORE 看起来可能接近我正在寻找的。我当前代码的问题是 exec 命令产生一个 $shell 进程并运行一个命令,而不是在调用 tcl 模块进程的 shell 上运行 limit 命令。

如果能够以一种简单的方式(最好是使用模块)更改环境变量并设置 coredumpsize 的限制,任何帮助将不胜感激。

0 投票
1 回答
973 浏览

tcl - 什么是模块信息模式切换语句?

Environment Modules定义了module-info mode命令。 modulefile 的手册页列出了可能的模式:

什么是多个 switch 语句?

0 投票
1 回答
4270 浏览

linux - 将参数传递给模块文件中的 set-alias

我尝试从 bash shell 加载包含别名的模块文件。教程页面对set-alias 命令进行了以下说明:

设置别名别名名称别名字符串

将用户环境中名为 alias-name 的别名或函数设置为字符串 alias-string。可以使用 Bourne Shell 风格的函数参数来指定参数。如果字符串包含“$1”,那么这将成为 shell 解释别名时的第一个参数。字符串“$*”对应于别名的所有参数。字符 '$' 可以使用 '\' 字符进行转义。

对于某些 shell,别名是不可能的,并且该命令无效。对于 Bourne shell 派生类,将编写一个 shell 函数(如果支持)以给人一种别名的印象。卸载模块文件时,set-alias 变为 unset-alias。

我想使用别名来创建一个命令,让我可以使用某些特定参数启动给定软件。谁能指出下面的语法有什么问题?

0 投票
4 回答
3784 浏览

python - 如何使用环境模块文件(tcl 脚本)加载 virtualenv?

我正在尝试为创建 python 的程序编写模块文件virtualenv。为了启动它virtualenv,它需要先运行/programs/program-env/bin/activate。我该如何做到这一点modulefile?任何帮助将不胜感激。

注意:我尝试将上述行放入文件中,但没有成功。

谢谢,

编辑:

我正在编写一个模块文件来加载一个只能在virtualenv. 通常,这些模块文件将设置变量名称和/或将 bin 目录添加到路径。由于上面的包有些不同,我不知道如何进行。可以在此处找到示例模块文件。

0 投票
1 回答
239 浏览

environment-variables - 在模块文件中加载模块时,环境不修改

我想将一个模块加载到一个模块文件中(以解决依赖关系)。

我的模块:

我的其他模块:

当我运行时module load MyModule,两个模块似乎都已加载,但环境不正确:

如果我添加该行foreach p [array names env] { set tmp $env($p) }或至少set tmp $env(PATH)在该module load MyOtherModule行之后的 MyModule 中,则正确修改了环境。如果我不使用我的函数addPath但我prepend-path直接使用命令,它也可以正常工作,这有点烦人,因为我当然想在addPath函数中做更多的事情。

任何人都知道发生了什么以及我错过了什么?

0 投票
1 回答
292 浏览

lua - 在lua中读取模块文件时尝试从模块文件中获取PATH变量的值

我试图在读取 lua 脚本中的模块文件时读取模块文件中给出的 PATH 变量的值。我不确定这是否可以使用 lua 中的某些函数来完成,因为我对 lua 还很陌生。

模块文件 (netcdf) 下面仅给出了模块文件的一部分 -

我正在阅读这个文件,有没有什么方法可以得到 PATH 的所有三个可能的组合值,无论用户/系统的环境如何,即

我编写的代码仅读取该行,但很难排列变量中的值并获得所需的 PATH。

Lua 代码 -

我得到的输出只是显示了我需要的感兴趣的行,但是获得 PATH 的所有可能值仍然遥不可及,任何帮助将不胜感激!

-K

0 投票
1 回答
23315 浏览

bash - 模块加载英特尔(错误:105:无法找到“英特尔”的模块文件)

我正在尝试在 Ubuntu 中使用 environment-modules 我可以成功安装模块包,但是当我尝试使用时 module load intel,它给了我以下错误:

我用moduleavail来查看可以加载哪些模块我得到了这个:

有什么帮助吗?