Команды загрузки / выгрузки модуля в скриптах Linux - PullRequest
0 голосов
/ 17 июня 2019

Мне часто нужно создавать сценарии Linux, которые содержат команды module load и module unload.Есть ли способ проверить, загружен ли модуль перед выполнением команды module unload?

Причина, по которой мне нужно это сделать, заключается в том, что если у меня есть команда module unload, а рассматриваемый модуль еще не загружен, то это приведет к сообщениям об ошибках.Я хотел бы избежать этих сообщений об ошибках, проверяя модуль, который уже загружен, и выгружая его, только если это так.

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Последние версии команды module (4 +) имеют новую подкоманду под названием is-loaded, которая возвращает истину или ложь независимо от того, загружен данный модуль или нет.

Чтобы условно выгрузить модуль из сеанса оболочки, вы можете набрать:

module is-loaded $MODULENAME && module unload $MODULENAME
0 голосов
/ 17 июня 2019

Предполагается, что вопрос относится не к модулям Linux, а к этому программному обеспечению: https://modules.readthedocs.io/en/stable/module.html

В шаблоне grep предполагается, что имя модуля является первым словом в выводе module list.Это будет исправлено, когда к вопросу добавится недостающая информация.

# example for unloading
MODULENAME=foobar
module list | grep -qw "^$MODULENAME" && module unload "$MODULENAME"
# example for loading
MODULENAME=foobar
module list | grep -qw "^$MODULENAME" || module load "$MODULENAME"
...