谢谢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

回复