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

An Yang an.euroford在gmail.com
星期四 九月 15 05:49:01 UTC 2011


不论是本地,还是远程,基础设备都是PTY。

在 2011-09-15四的 13:11 +0800,陈翔宇写道: 

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


-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20110915/c2ec093c/attachment.html>
-------------- 下一部分 --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: 这是信件的数字签名部分
URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20110915/c2ec093c/attachment.pgp>


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