这是我第一次发帖,过去我使用过这里的代码示例,感谢您的帮助。
我目前有一个包含几十个函数的大型 Bash 脚本,并且它正在增长,并且变得越来越难以管理。每个功能确实是一个完全独立的模块,并且为了便于开发,并且能够轻松地允许社区贡献的模块而无需我需要集成每个模块,我想添加具有单独模块文件的功能,主脚本会自动看看,加进去。
目前我有:(超级简化)
脚本.sh
#! /bin/bash
function one {
stuff
}
function two {
different stuff
}
one
two
exit
但希望有一个自动检查目录的脚本(比如“modules/”),并且任何后缀为.module的文件(例如lights.module)都将被加载到菜单中(我有一个功能很好的whiptail菜单系统已经)。
我已经从 Google 和 stackoverflow 尝试了很多东西,但我似乎碰壁了。
我可以创建一个包含模块名称列表的文件 - 因此可以随意放入一个模块,它会出现在列表中:
for entry in /home/tony/scripts/test/modules/*
do
echo "$entry" >> modules.list # Append the name of present modules to the list of modules
done
但是我如何让我的脚本知道这些模块名称,并对它们做一些事情(即将它们放入一个whiptail 菜单,如果选择了它们就调用它们)。