[Ubuntu-zh] bash是如何自动补全命令的

陈翔宇 chenxiangyu在sgchip.com
星期四 九月 15 05:11:51 UTC 2011


谢谢bachue和Shellexy Wang 的耐心回答。

刚刚从GNU上面下载了一个bash的源码,lib里面有一个简单的例子,通过调用readline这个库实现tab补全。命令封装在了一个结构体里面。这让我想起了另外一个问题,我们用的telnet进行远程链接linux主机,也能实现tab自动补全这个功能。那么像这种形式是否也是用readline库呢?还是用另外的方式?如果说telnet用的是readline
那么它怎么样识别的\t 符号呢?


再次感谢大家

在 2011年9月15日 上午10:59,Shellexy Wang <jhuangjiahua在gmail.com> 写道:
> 常见 GPL 的命令行程序自身命令提示符都是用 readline 这个库来做命令行编辑,以提供补全、历史、搜索等能力
>
> readline 算是机制,而策略则还通过 bash bash_completion 来指定
>
> 2011/9/15 陈翔宇 <xnguchen在gmail.com>
>
>> 早上好!
>> 这几天想用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
> ubuntu-zh在lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh
>



-- 


With kind regards
----------------------------------------------------------------
陈翔宇
Mobile : 18801187689
Email : xnguchen在gmail.com

----------------------------------------------------------------


关于邮件列表 ubuntu-zh 的更多信息