谢谢bachue和Shellexy Wang 的耐心回答。 刚刚从GNU上面下载了一个bash的源码,lib里面有一个简单的例子,通过调用readline这个库实现tab补全。命令封装在了一个结构体里面。这让我想起了另外一个问题,我们用的telnet进行远程链接linux主机,也能实现tab自动补全这个功能。那么像这种形式是否也是用readline库呢?还是用另外的方式?如果说telnet用的是readline 那么它怎么样识别的\t 符号呢?
再次感谢大家 在 2011年9月15日 上午10:59,Shellexy Wang <[email protected]> 写道: > 常见 GPL 的命令行程序自身命令提示符都是用 readline 这个库来做命令行编辑,以提供补全、历史、搜索等能力 > > readline 算是机制,而策略则还通过 bash bash_completion 来指定 > > 2011/9/15 陈翔宇 <[email protected]> > >> 早上好! >> 这几天想用C写一个简单的shell,但是有个问题一直想不通。shell是如何通过TAB进行自动补全的。 >> 查资料说有个getline()函数,但是gnu的那个例子实在是没看明白。 >> 在这里想请教一下大家TAB补全是怎么实现的。 >> Thanks! >> >> > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20110915/19bbe75f/attachment.html> > -- > ubuntu-zh mailing list > [email protected] > https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > -- With kind regards ---------------------------------------------------------------- 陈翔宇 Mobile : 18801187689 Email : [email protected] ---------------------------------------------------------------- -- ubuntu-zh mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh
