我经常需要创建包含module load
和module unload
命令的Linux脚本。有没有一种方法可以在执行module unload
命令之前测试模块是否已加载?
我需要这样做的原因是,如果我有一个module unload
命令,而相关模块尚未加载,则将导致错误消息。我想通过测试已经加载的模块并仅在这种情况下才将其卸载来避免这些错误消息。
答案 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"