我的计划由许多工作和每个工作中的许多脚本任务组成。
这些脚本任务大多数都依赖于我每次加载的相同的5或6个模块,例如:
“模块加载python / argparse_py2.7 / 1.2.1 模块加载python / python / 2.7.13“
不是必须为每个任务加载这些环境模块,有没有一种方法可以将它们加载一次并使所有后续任务都能够访问它们?
答案 0 :(得分:0)
从脚本或交互式Shell会话加载模块后,该模块将在其余脚本或会话中保持加载状态,并且仍在由主脚本或子脚本启动的子脚本的上下文中加载该模块。主会话启动的shell。
因此,在启动许多子任务/脚本的脚本上下文中,应将module load
命令放在脚本开头附近,以使那些模块能够用于其余的执行或子执行。
这对于交互式shell会话也有效。
此外,module
命令provide a way的新版本向save
加载了模块上下文,并在以后的restore
中(在脚本或其他Shell会话中)。
这是模块收集用法的一个小例子:
$ 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.13