mirror of
https://github.com/HEYAHONG/HCppBox.git
synced 2025-05-09 00:21:37 +08:00
说明
shell相对于kernel(内核),一般用于给用户提供简易的交互方式。
本组件主要用于提供简易的命令执行功能,主要用于调试。
使用本组件实现的shell推荐使用支持终端转义序列的软件(如putty、minicom)打开,不推荐直接使用串口调试工具打开。
控制字符
控制字符主要用于传输控制信息,通常用于终端与CLI程序之间的交互。
如未特殊说明,下文的终端一般指VT100及其兼容终端(包括兼容的软件终端)。
本组件支持的控制字符如下:
控制字符 | 说明 | 备注 |
---|---|---|
0x04 |
EOT,shell将返回EOF。 | 在终端上通过Ctrl-D按键输入。 |
0x09 |
HT,水平制表符 | 在终端上通过Tab按键输入。 |
'\r' |
回车字符,将执行命令 | |
'\n' |
换行字符,将执行命令 | 当输入连续的\r\n 则只有\r 时会执行。 |
'\e' |
escape,将进入转义序列处理 | |
0x7f |
del,将删除当前光标前的字符 | 通过按键 Back Space触发。 |
本组件支持的终端转义序列(不包括escape符)如下:
转义序列 | 说明 | 备注 |
---|---|---|
"[A" |
上键 | |
"[B" |
下键 | |
"[C" |
右键 | |
"[D" |
左键 | |
"[2~" |
Insert 键 | 打开/关闭 插入模式 |
"[3~" |
删除键 | 将删除当前光标上的字符 |
注意:在通用平台验证终端转义序列时,默认只支持在unix或者类unix(如Linux)上验证,Windows平台不予考虑。
本组件支持的控制字符与终端转义序列为PC风格(即使用PC键盘),参考链接如下:
命令解析
- 本组件支持引号,主要用作含有空格字符的参数字符串。无论是单引号还是双引号,均可用作引号。当一种引号开始后,另一种引号变为普通字符,直到该引号结束。
- 本组件支持单行注释,除非#号在引号内或者#号前有\字符,每行#号字符及其后的字符将被忽略。
- 支持部分C语言转义序列,即以
\
开头的序列将视为转义序列。注意:在Windows下文件路径中的\
在本组件中需要使用\\
代替。
内置命令
本组件内置部分命令,具体如下:
名称 | 说明 |
备注 |
---|---|---|
help |
显示帮助,后可跟具体的命令 | |
exit |
退出 | 有些移植中不允许退出,执行此命令后将重新登录。 |