如何从bash脚本内部加载模块?
我正在试着让脚本运行。本质上,我需要加载一些模块,然后执行python脚本。所以像这样的事情如何从bash脚本内部加载模块?,bash,shell,environment-modules,Bash,Shell,Environment Modules,我正在试着让脚本运行。本质上,我需要加载一些模块,然后执行python脚本。所以像这样的事情 #!/usr/bin/env bash module use /PATH/TO/MODULEFILE module load MY_MODULE python my_script.py 我遇到的问题是,每次尝试执行脚本时,我都会出现以下错误—“模块:未找到命令”。我不明白如何更改脚本来修复此问题。我能够从shell运行module命令。我还运行了“whereis-b模块”,我得到了“模块:” 我需要
#!/usr/bin/env bash
module use /PATH/TO/MODULEFILE
module load MY_MODULE
python my_script.py
我遇到的问题是,每次尝试执行脚本时,我都会出现以下错误—“模块:未找到命令”。我不明白如何更改脚本来修复此问题。我能够从shell运行module命令。我还运行了“whereis-b模块”,我得到了“模块:”
我需要做什么才能从脚本内部加载此模块?谢谢通过在模块安装的
init
目录中提供python.py
初始化脚本,您可以从python脚本中启用module
命令
下面的python代码定义了module
函数,然后启用modulepath并加载modulefile:
#!/usr/bin/python
import os
exec(open('/PATH/TO/MODULES/init/python.py').read())
module('use', '/PATH/TO/MODULEFILE')
module('load', 'MY_MODULE')
如果要在bash脚本中启用
模块
,可以使用不同的命令来运行脚本。对我来说,像一样运行脚本script.sh
。script.sh
或as/script.sh
将正确加载模块,但作为sh script.sh
运行将导致上述错误。在python脚本my_script.py
中加载模块,而不是在bash脚本中加载模块。PS:如果你把#放进去,你就不需要bash脚本了/usr/bin/python
位于python脚本的顶部。