问题标签 [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.
module - 如何将 csh 别名转换为与 MODULEFILE 兼容的 set-alias 命令?
我有一堆别名,我想与同事分享,我想把它放在我们的项目modulefile中。有没有可以为我进行转换的脚本?或者至少给我一个好的开始,然后我可以修复那些翻译不好的?
PS 有更多代表的人可以创建一个模块文件标签吗?
linux - modulefile - 模块卸载不会取消设置环境变量
我有一个非常简单的模块文件:
这是我的命令行:
根据modulefile 手册页,卸载模块命令应该将所有 setenv 转换为 unsetenv,但它似乎不起作用。有谁知道我在这里可能做错了什么?
更多信息:
对于那些不熟悉模块文件的人(它们似乎并不那么受欢迎):
- modulefile 是一段简单的代码,用于设置或添加 PATH、MANPATH 或其他环境变量的条目
- modulefiles 隐藏了不同类型的 shell 的概念
- 模块文件用工具命令语言 Tcl 编写,并由 modulecmd 程序通过模块用户界面进行解释
linux - 使 proc 可用于所有模块文件?
我正在使用模块来管理软件。我正在尝试设置环境,以便可以从任何模块文件调用某个函数,而无需每个文件都必须获取 proc 定义。
示例:我希望该util:prereq
函数在以下模块文件中可用,而无需获取其定义:
为了做到这一点,我知道我必须连接到模块文件或 tcl 或其他东西。有任何想法吗?
此函数的用法与 类似,prereq
只是该函数将加载任何先决条件而不是因为未加载而失败。
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 的限制,任何帮助将不胜感激。
tcl - 什么是模块信息模式切换语句?
包Environment Modules定义了module-info mode
命令。 modulefile 的手册页列出了可能的模式:
什么是多个 switch 语句?
linux - 将参数传递给模块文件中的 set-alias
我尝试从 bash shell 加载包含别名的模块文件。教程页面对set-alias 命令进行了以下说明:
设置别名别名名称别名字符串
将用户环境中名为 alias-name 的别名或函数设置为字符串 alias-string。可以使用 Bourne Shell 风格的函数参数来指定参数。如果字符串包含“$1”,那么这将成为 shell 解释别名时的第一个参数。字符串“$*”对应于别名的所有参数。字符 '$' 可以使用 '\' 字符进行转义。
对于某些 shell,别名是不可能的,并且该命令无效。对于 Bourne shell 派生类,将编写一个 shell 函数(如果支持)以给人一种别名的印象。卸载模块文件时,set-alias 变为 unset-alias。
我想使用别名来创建一个命令,让我可以使用某些特定参数启动给定软件。谁能指出下面的语法有什么问题?
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
函数中做更多的事情。
任何人都知道发生了什么以及我错过了什么?
lua - 在lua中读取模块文件时尝试从模块文件中获取PATH变量的值
我试图在读取 lua 脚本中的模块文件时读取模块文件中给出的 PATH 变量的值。我不确定这是否可以使用 lua 中的某些函数来完成,因为我对 lua 还很陌生。
模块文件 (netcdf) 下面仅给出了模块文件的一部分 -
我正在阅读这个文件,有没有什么方法可以得到 PATH 的所有三个可能的组合值,无论用户/系统的环境如何,即
我编写的代码仅读取该行,但很难排列变量中的值并获得所需的 PATH。
Lua 代码 -
我得到的输出只是显示了我需要的感兴趣的行,但是获得 PATH 的所有可能值仍然遥不可及,任何帮助将不胜感激!
-K
bash - 模块加载英特尔(错误:105:无法找到“英特尔”的模块文件)
我正在尝试在 Ubuntu 中使用 environment-modules 我可以成功安装模块包,但是当我尝试使用时
module load intel
,它给了我以下错误:
我用module
avail来查看可以加载哪些模块我得到了这个:
有什么帮助吗?