宏选项
finsh有一些宏定义可以简单配置。
- #define RT_USING_FINSH
此宏定义在rtconfig.h中,用于在RT-Thread中打开finsh,并将其作为shell。
- #define FINSH_USING_SYMTAB
- #define FINSH_USING_DESCRIPTION
此宏定义在rtconfig.h中。打开FINSH_USING_SYMTAB
可以在finsh中使用符号表,打开FINSH_USING_DESCRIPTION
后需要给每个finsh的符号添加一段字符串描述。这两个宏一般都需要打开。
- #define FINSH_USING_HISTORY
此宏定义在rtconfig.h中,打开后可以在finsh中使用方向键(上下)回溯历史指令。
- #define FINSH_USING_MSH
此宏定义在rtconfig.h中,打开后finsh将支持传统shell模式。
- #define FINSH_USING_MSH_ONLY
此宏定义在rtconfig.h中,打开后finsh仅支持msh模式。
如果打开了FINSH_USING_MSH
而没有打开FINSH_USING_MSH_ONLY
,finsh同时支持两种c-style模式与msh模式,但是默认进入c-style模式,执行 msh()
即可切换到msh模式,在msh模式下执行 exit
后即退回到c-style模式。
- #define DFS_USING_WORKDIR
此宏定义在rtconfig.h中,它实际上是DFS组件的宏,但由于它与finsh有一定关系,因此在这里也介绍一下。打开此宏后finsh可以支持工作目录。当使用msh时,建议打开此宏。
- #define FINSH_USING_AUTH
此宏定义在rtconfig.h中,打开则开启权限验证功能。系统在启动后,只有权限验证(目前仅支持密码验证)通过,才会开启finsh功能,提升系统输入的安全性。
- #define FINSH_DEFAULT_PASSWORD "rtthread"
此宏定义在rtconfig.h中,设置finsh在密码验证模式下的默认密码。密码长度大于等于FINSH_PASSWORD_MIN
(默认6),小于等于FINSH_PASSWORD_MAX
(默认RT_NAME_MAX
)。