Linux脚本中的模块加载/卸载命令

时间:2019-06-17 14:01:55

标签: linux module load environment-modules

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

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

2 个答案:

答案 0 :(得分:0)

Recent versions of the module command (4+)有一个名为export class PlayerDetailsPage implements OnInit { public currentPlayerDetails: any = {}; constructor(private playersService: PlayersService, private helperService: HelperService, private route: ActivatedRoute) { } ngOnInit() { this.fetchPlayerDetails(this.route.snapshot.paramMap.get('id')); } private async fetchPlayerDetails(playerId: string) { const playerDetailsSnapshot = await this.playersService.getPlayerDetails(playerId).get(); this.currentPlayerDetails = playerDetailsSnapshot.data(); this.currentPlayerDetails.id = playerDetailsSnapshot.id; } } 的新子命令,无论是否加载给定的模块,该命令都会返回true或false。

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

is-loaded

答案 1 :(得分:-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"