builtin - 脚本插件
概述
本插件可将一些脚本打包到插件中,直接以插件 的形式提供外部使用
如果没有builtin插件,如果我们想要增加一些偏底层的脚本库文件(比如说telnet,性能测试等),我们必须以源码的形式提供,不太方便也不安全
实现思路
- 先编译minshell,作为基础的执行环境
- 使用minshell执行script/generate_builtin_file.gs脚本,遍历builtin/builtin_scripts目录,将其中的所有脚本编译为.o,并转为.h文件
- 自动生成auto_gen_builtin_files.hpp文件,其中的_register_all_builtin_files()方法,将所有生成的内嵌脚本数据注册到内存文件设备中
- 当我们导入builtin插件后,我们就能通过
/v/<文件名>
访问到已注册的内嵌脚本内容
如何扩展
将需要打包的脚本放入builtin/builtin_scripts目录中即可
常用builtin脚本
gs.util.logger
gs.util.logger
用于实现日志的记录,可以实现按照配置过滤指定的日志等级等辅助调试的功能。
函数名 | 说明 |
---|---|
void logger.init(map params) |