我的计划包括许多作业和每个作业中的许多脚本任务。
大多数脚本任务依赖于每次加载的相同的5或6个模块,例如:
模块加载python/ load _py2.7/1.2.1模块加载python/python/2.7.13
与其为每个任务加载这些环境模块,是否有一种方法来加载它们一次,并使所有后续任务都能够访问它们?
发布于 2018-11-07 07:50:42
从脚本或交互式shell会话加载模块后,该模块将继续加载到脚本或会话的其余部分,并且仍然会在主会话启动的子脚本或主会话启动的子shell的上下文中加载该模块。
因此,在启动许多子任务/脚本的脚本上下文中,应该将module load命令放在脚本开头附近,以使这些模块能够用于其余的执行或子执行。
这对于交互式shell会话也是有效的。
此外,新版本的module命令提供一个方法用于save加载的模块上下文,并在以后(在脚本或其他shell会话中)对其进行restore。
下面是模块集合使用的一个小示例:
$ module purge
$ module load python/argparse_py2.7/1.2.1 python/python/2.7.13
$ module save pythonjobenv
$ module savelist
Named collection list:
1) pythonjobenv
$ module purge
$ module restore pythonjobenv
Restoring collection pythonjobenv
Loading module: python/argparse_py2.7/1.2.1 python/python/2.7.13https://stackoverflow.com/questions/53175223
复制相似问题