免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2390 | 回复: 9
打印 上一主题 下一主题

具有自动完成功能的命令行CLI怎么设计? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-14 18:38 |只看该作者 |倒序浏览
现在很多命令行模块都是有自动完成功能,输入一半命令,按个Tab就把命令补全了,这种命令行怎么设计的啊?

哪个地方有简单的小模块可供参考的吗?谢谢!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-09-14 18:40 |只看该作者

具有自动完成功能的命令行CLI怎么设计?

我以前写过..

论坛徽章:
0
3 [报告]
发表于 2005-09-14 18:44 |只看该作者

具有自动完成功能的命令行CLI怎么设计?

那楼上的是否能够指点一下啊, 或者是指点一下那个地方有个简单的Example也行

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2005-09-14 18:48 |只看该作者

具有自动完成功能的命令行CLI怎么设计?

用终端I/O. cbreak模式. 判断每个字符都是什么.
不是tab 那么字符串连接.打印屏幕上.
如果是tab键(\t) 那么搜索$PATH. PATH是从环境变量里读出来的搜索以前面字母的命令.有就显示出来.并且补全.
当输入\r 也就是回车时候停止.

说着好说 做起来细节比较复杂.

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2005-09-14 18:50 |只看该作者

具有自动完成功能的命令行CLI怎么设计?

也可以用ncurses库.

论坛徽章:
0
6 [报告]
发表于 2005-09-14 18:50 |只看该作者

具有自动完成功能的命令行CLI怎么设计?

输入部分的确是楼上说得那样,逐个字符判断,但是对于command tree和 parameters tree 需要预先建立吗?

论坛徽章:
0
7 [报告]
发表于 2005-09-14 18:51 |只看该作者

具有自动完成功能的命令行CLI怎么设计?

我先google一下ncurses再说。。。。(google中。。。。)

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2005-09-14 18:52 |只看该作者

具有自动完成功能的命令行CLI怎么设计?

这个...如果事先建立则非常浪费内存.如果等到tab时候建立有浪费时间.
你按照需求建吧.

论坛徽章:
0
9 [报告]
发表于 2005-09-14 19:01 |只看该作者

具有自动完成功能的命令行CLI怎么设计?

哇塞,  用ncurses来实现一个CLI接口是不是太浪费了。。。。看到一个readLine库,好像比较先进,先研究一下能不能用再说,,,,

谢谢楼上的!

论坛徽章:
0
10 [报告]
发表于 2005-09-15 08:20 |只看该作者

具有自动完成功能的命令行CLI怎么设计?

原帖由 "mq110" 发表:
这个...如果事先建立则非常浪费内存.如果等到tab时候建立有浪费时间.
你按照需求建吧.

这两种好像恰好是csh和bash的区别。
csh就是事先建立,想refresh,要运行rehash
bash应该是临时建立的,每次COPY新的命令进入path里,直接就能找到了。

我个人比较喜欢csh的做法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP