0

我经常需要创建包含命令module load的Linux 脚本。有没有办法在执行命令module unload之前测试模块是否已经加载?module unload

我需要这样做的原因是,如果我有一个module unload命令并且有问题的模块尚未加载,那么它将导致错误消息。我想通过测试已经加载的模块来避免这些错误消息,并且只有在这种情况下才卸载它。

4

2 回答 2

0

该命令的最新版本module(4+)有一个名为的新子命令is-loaded,无论给定模块是否已加载,它都会返回 true 或 false。

因此,要有条件地从 shell 会话中卸载模块,您可以键入:

module is-loaded $MODULENAME && module unload $MODULENAME
于 2019-06-19T17:54:36.157 回答
-1

假设问题与 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"
于 2019-06-17T14:24:06.640 回答