簡體   English   中英

如何從 bash 腳本中加載模塊?

[英]How can I load a module from inside a bash script?

我正在嘗試運行腳本。 基本上我需要加載一些模塊,然后執行一個 python 腳本。 所以像這樣的事情......

#!/usr/bin/env bash
module use /PATH/TO/MODULEFILE
module load MY_MODULE

python my_script.py

我遇到的問題是,每次嘗試執行腳本時,都會出現此錯誤 - “模塊:未找到命令”。 我不明白如何更改腳本來解決這個問題。 我能夠從 shell 運行模塊命令。 我還運行了“whereis -b 模塊”,我剛剛得到了“模塊:”。

我需要做什么才能從腳本內部加載這個模塊? 謝謝

您可以通過獲取模塊安裝的init目錄中提供的python.py初始化腳本,從您的 python 腳本啟用module命令。

下面一段python代碼定義了module功能,然后啟用了一個module路徑並加載了一個module

#!/usr/bin/python
import os
exec(open('/PATH/TO/MODULES/init/python.py').read())
module('use', '/PATH/TO/MODULEFILE')
module('load', 'MY_MODULE')

如果你想在你的 bash 腳本中啟用該module ,它可以像使用不同的命令來運行腳本一樣簡單。 對我來說,將腳本script.sh作為. script.sh . script.sh或 as ./script.sh將正確加載模塊,但將其作為sh script.sh運行將導致上述錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM