Letter
|
03432e824c
|
优化 变量作为参数时, 如果变量不存在, 命令直接返回; 命令组子命令允许返回值打印
|
2024-07-31 22:01:42 +08:00 |
|
maruolang
|
8bce2c5ebb
|
修复 README.md文档中例程错误
|
2024-03-11 14:53:10 +08:00 |
|
Letter
|
9d9cb2c5bd
|
新增 数组参数支持
|
2023-10-29 04:53:20 +00:00 |
|
Letter
|
1725f88d1e
|
移除 命令结构体填充
|
2023-05-27 08:23:01 +00:00 |
|
Letter
|
e9375840bd
|
新增 自定义类型解析
- 可以对自定义的数据结构定义解析器,然后使用函数签名进行参数自动解析
|
2023-04-22 07:50:25 +00:00 |
|
Letter
|
acd9dceb4e
|
新增 函数签名
## 函数签名
之前的版本里,如果声明的命令是 `SHELL_TYPE_CMD_FUNC`,shell 会自动进行参数的转换,但是参数转换后的类型是猜出来的,无法保证转换后的数据类型是正确的,一旦猜错了,就容易导致程序挂掉
由此,借鉴 Java 等语言的函数签名,新版也引入了函数签名的概念,在声明命令时,可以给定最终执行命令的函数的签名,shell 根据这个签名进行参数转换,使用此功能时,需要打开宏 `SHELL_USING_FUNC_SIGNATURE`
函数签名是一个字符串,通过这个字符串声明表达函数的参数类型,返回值不声明,比如一个函数`int func(int a, char *b, char c)`,它的函数签名就是 `ics`
基本类型的参数签名定义如下:
| 类型 | 签名 |
| -------------------- | ---- |
| char(字符) | c |
| int/short/char(数字) | i |
| char * (字符串) | s |
| pointer | p |
声明命令时,在最后添加一个参数 `.data.cmd.signature = "ics"` 即可,比如:
```c
void shellFuncSignatureTest(int a, char *b, char c)
{
printf("a = %d, b = %s, c = %c\r\n", a, b, c);
}
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC),
funcSignatureTest, shellFuncSignatureTest, test function signature, .data.cmd.signature = "isc");
```
|
2023-04-15 16:30:44 +08:00 |
|
Letter
|
c4dad4c43a
|
更新 配置方式,可以使用一个 overlay 的头文件进行配置
|
2023-04-08 20:03:56 +08:00 |
|
Letter
|
dc0e4915fd
|
update readme.md
|
2021-10-17 13:39:21 +08:00 |
|
Letter
|
a34f08ab6f
|
优化 最大历史记录设置为0s时移除相关代码
|
2021-06-27 12:28:28 +08:00 |
|
Letter
|
6b79f9a4a1
|
新增 双击tab快速帮助
|
2021-06-12 16:39:12 +08:00 |
|
Letter
|
663f792c60
|
修复 编译问题
|
2021-05-24 15:51:59 +08:00 |
|
Letter
|
bafb839586
|
update README.md
|
2021-05-22 22:18:32 +08:00 |
|
Letter
|
4522c026bb
|
修复 log工具问题
优化 x86 demo使用cmake构建
|
2021-05-22 21:50:35 +08:00 |
|
Letter
|
d8ea842719
|
新增 log组件适配shell锁
|
2021-05-09 21:24:22 +08:00 |
|
Letter
|
2c7ce324a6
|
Update README.md
|
2021-05-09 14:19:26 +08:00 |
|
NevermindZZT
|
e376b61397
|
防止 编译器优化
|
2021-05-09 13:43:59 +08:00 |
|
NevermindZZT
|
480223721d
|
更改 shell读写接口
|
2021-04-05 19:06:25 +08:00 |
|
Letter
|
38b8c7795f
|
增加 参数自动转换最大参数限制
修复 对错误命令使用help时会引起异常的问题
|
2020-11-29 14:32:48 +08:00 |
|
Letter
|
3fd2910540
|
update README.md
|
2020-08-24 20:12:05 +08:00 |
|
Letter
|
2bc0966db7
|
新增 字符串变量类型
移除 常量类型,改为使用变量只读属性实现
|
2020-08-23 17:46:05 +08:00 |
|
Letter
|
c46f908330
|
Update README.md
|
2020-08-02 13:10:56 +08:00 |
|
Letter
|
e528087d71
|
新增 shell尾行模式
|
2020-08-01 17:33:49 +08:00 |
|
Letter
|
b8efab542b
|
新增 shell伴生对象
新增 支持提示符路径修改
移除 sh命令
|
2020-07-25 15:04:33 +08:00 |
|
Letter
|
a1f0bc50c6
|
新增 支持未导出函数执行
|
2020-06-22 15:28:08 +08:00 |
|
Letter
|
c9509964d3
|
新增是否在登录后清除命令行的配置
|
2020-06-04 10:20:17 +08:00 |
|
Letter
|
85ed0caf02
|
新增shell信息显示控制
|
2020-05-26 10:13:36 +08:00 |
|
Letter
|
330e24681a
|
修复双引号修复的字符串参数中含有空格会被分割的问题
修复双引号修复的字符串参数中含有空格会被分割的问题
更新shellTools.py
|
2020-04-17 11:36:26 +08:00 |
|
Letter
|
4fa5bc9a71
|
新增代理函数和代理参数解析
新增代理函数和代理参数解析
使用代理参数解析解决浮点参数传递问题
|
2020-04-16 18:43:27 +08:00 |
|
Letter
|
a0fe3a8cb1
|
Update README.md
|
2020-04-10 13:35:44 +08:00 |
|
Letter
|
166917cbec
|
新增参数数量声明
|
2020-03-26 18:03:22 +08:00 |
|
Letter
|
544788ac78
|
Update README.md
|
2020-01-19 10:17:09 +08:00 |
|
Letter
|
ba0ae5a445
|
update
|
2020-01-19 07:22:58 +08:00 |
|
Letter
|
6d6cecfe01
|
新增命令权限打印
新增命令权限打印
支持切换用户同时输入密码
加入shell格式化输出函数
|
2020-01-18 16:21:02 +08:00 |
|
Letter
|
07932c5576
|
修复权限问题
修复用户可以使用无权限命令的问题
修复打印有符号数引发异常的问题
|
2020-01-18 11:53:16 +08:00 |
|
Letter
|
912bbf5851
|
shell 3.0
|
2020-01-17 17:51:32 +08:00 |
|
Letter
|
f3a81ebb90
|
Update README.md
|
2020-01-14 18:41:22 +08:00 |
|
Letter
|
b4064aabaf
|
修复几个问题
|
2020-01-14 18:39:06 +08:00 |
|
Letter
|
32a28c4f27
|
Update README.md
|
2019-11-30 12:28:17 +08:00 |
|
Letter
|
c89a4ca76e
|
新增shell超时自动锁定
新增shell超时自动锁定
修复未验证密码的情况下,仍能查看历史命令,使用tab查看命令表的问题
修复双击tab补全,可能在使用多shell的时候有冲突的问题
|
2019-11-30 12:15:29 +08:00 |
|
Letter
|
b3af0b44e7
|
修复在开启密码功能时,在未验证密码的情况下,按下Tab会显示命令列表的问题
|
2019-11-17 12:12:36 +08:00 |
|
Letter
|
8533a0d8bc
|
Update README.md
|
2019-11-16 22:56:24 +08:00 |
|
Letter
|
2f30bd6674
|
优化在使用密码的情况下shell显示信息,提示符的逻辑
优化在使用密码的情况下shell显示信息,提示符的逻辑
删减部分代码
独立定义shell的提示性文本
|
2019-11-16 20:01:25 +08:00 |
|
redoc
|
90e890052d
|
外部调用由shellHander改为shellInput
|
2019-11-07 15:16:12 +08:00 |
|
redocCheng
|
15053adc0a
|
1、【增加】登录密码功能,通过cfg文件配置。
|
2019-11-07 15:03:03 +08:00 |
|
Letter
|
72a14aa538
|
新增shell常量
|
2019-08-21 18:29:23 +08:00 |
|
Letter
|
b7ecf3a8b4
|
新增shell变量,自定义组合按键
|
2019-08-20 18:10:07 +08:00 |
|
Letter
|
e79b2f9d0b
|
新增一个shell格式化输出函数
|
2019-08-16 15:47:24 +08:00 |
|
Letter
|
86896167aa
|
新增shell对象管理
|
2019-03-29 19:53:39 +08:00 |
|
Letter
|
6bad42a946
|
新增函数返回值打印
|
2019-03-14 19:49:14 +08:00 |
|
Letter
|
3e021d0fd6
|
Update README.md
增加函数定义说明
|
2019-03-10 12:55:39 +08:00 |
|